|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright 2012-2018 the original author or authors.
|
|
|
|
|
* Copyright 2012-2019 the original author or authors.
|
|
|
|
|
*
|
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
@ -30,6 +30,7 @@ import org.springframework.context.annotation.Configuration;
|
|
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
|
|
import org.springframework.core.task.TaskDecorator;
|
|
|
|
|
import org.springframework.core.task.TaskExecutor;
|
|
|
|
|
import org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor;
|
|
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -49,8 +50,6 @@ public class TaskExecutionAutoConfiguration {
|
|
|
|
|
*/
|
|
|
|
|
public static final String APPLICATION_TASK_EXECUTOR_BEAN_NAME = "applicationTaskExecutor";
|
|
|
|
|
|
|
|
|
|
public static final String ASYNC_TASK_EXECUTOR_BEAN_NAME = "taskExecutor";
|
|
|
|
|
|
|
|
|
|
private final TaskExecutionProperties properties;
|
|
|
|
|
|
|
|
|
|
private final ObjectProvider<TaskExecutorCustomizer> taskExecutorCustomizers;
|
|
|
|
@ -82,7 +81,8 @@ public class TaskExecutionAutoConfiguration {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Lazy
|
|
|
|
|
@Bean(name = { APPLICATION_TASK_EXECUTOR_BEAN_NAME, ASYNC_TASK_EXECUTOR_BEAN_NAME })
|
|
|
|
|
@Bean(name = { APPLICATION_TASK_EXECUTOR_BEAN_NAME,
|
|
|
|
|
AsyncAnnotationBeanPostProcessor.DEFAULT_TASK_EXECUTOR_BEAN_NAME })
|
|
|
|
|
@ConditionalOnMissingBean(Executor.class)
|
|
|
|
|
public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) {
|
|
|
|
|
return builder.build();
|
|
|
|
|