Browse Source

Address review comments

Signed-off-by: Sandipan <bsandipan99@gmail.com>
pull/48385/head
Sandipan 2 weeks ago
parent
commit
fa95de7172
  1. 2
      core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionProperties.java
  2. 27
      core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java

2
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutionProperties.java

@ -45,7 +45,7 @@ public class TaskExecutionProperties {
private Mode mode = Mode.AUTO; private Mode mode = Mode.AUTO;
/** /**
* Indicates whether to register ContextPropagatingTaskDecorator bean * Whether to propagate the current context to task executions.
*/ */
private boolean propagateContext = false; private boolean propagateContext = false;

27
core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java

@ -75,36 +75,19 @@ class TaskExecutorConfigurations {
@Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) @Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)
@ConditionalOnThreading(Threading.VIRTUAL) @ConditionalOnThreading(Threading.VIRTUAL)
SimpleAsyncTaskExecutor applicationTaskExecutorVirtualThreads(SimpleAsyncTaskExecutorBuilder builder, SimpleAsyncTaskExecutor applicationTaskExecutorVirtualThreads(SimpleAsyncTaskExecutorBuilder builder) {
ObjectProvider<TaskDecorator> decorators) { return builder.build();
TaskDecorator decorator = decorators.getIfAvailable();
SimpleAsyncTaskExecutor executor = builder.build();
if (decorator != null) {
executor.setTaskDecorator(decorator);
}
return executor;
} }
@Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) @Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)
@Lazy @Lazy
@ConditionalOnThreading(Threading.PLATFORM) @ConditionalOnThreading(Threading.PLATFORM)
ThreadPoolTaskExecutor applicationTaskExecutor( ThreadPoolTaskExecutorBuilder threadPoolTaskExecutorBuilder, ThreadPoolTaskExecutor applicationTaskExecutor(ThreadPoolTaskExecutorBuilder threadPoolTaskExecutorBuilder) {
ObjectProvider<TaskDecorator> decorators ) { return threadPoolTaskExecutorBuilder.build();
TaskDecorator decorator = decorators.getIfAvailable();
ThreadPoolTaskExecutor executor = builder.build();
if (decorator != null) {
executor.setTaskDecorator(decorator);
}
return executor;
} }
@Bean @Bean
@ConditionalOnProperty( @ConditionalOnProperty(prefix = "spring.task.execution.propagate-context", havingValue = "true")
prefix = "spring.task.execution",
name = "propagate-context",
havingValue = "true",
matchIfMissing = false
)
TaskDecorator contextPropagatingTaskDecorator() { TaskDecorator contextPropagatingTaskDecorator() {
return new ContextPropagatingTaskDecorator(); return new ContextPropagatingTaskDecorator();
} }

Loading…
Cancel
Save