|
33 | 33 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
34 | 34 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
35 | 35 | import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; |
36 | | -import org.springframework.boot.autoconfigure.condition.ConditionalOnThreading; |
37 | 36 | import org.springframework.boot.autoconfigure.condition.SearchStrategy; |
38 | 37 | import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration; |
39 | 38 | import org.springframework.boot.autoconfigure.jmx.JmxProperties; |
| 39 | +import org.springframework.boot.autoconfigure.task.DefaultTaskSchedulerConfiguration; |
40 | 40 | import org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration; |
41 | 41 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
42 | 42 | import org.springframework.boot.context.properties.PropertyMapper; |
43 | 43 | import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; |
44 | 44 | import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer; |
45 | 45 | import org.springframework.boot.sql.autoconfigure.init.OnDatabaseInitializationCondition; |
46 | | -import org.springframework.boot.task.SimpleAsyncTaskSchedulerBuilder; |
47 | | -import org.springframework.boot.task.ThreadPoolTaskSchedulerBuilder; |
48 | | -import org.springframework.boot.thread.Threading; |
49 | 46 | import org.springframework.context.ApplicationContext; |
50 | 47 | import org.springframework.context.annotation.Bean; |
51 | 48 | import org.springframework.context.annotation.Conditional; |
|
69 | 66 | import org.springframework.messaging.rsocket.RSocketStrategies; |
70 | 67 | import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler; |
71 | 68 | import org.springframework.scheduling.Trigger; |
72 | | -import org.springframework.scheduling.concurrent.SimpleAsyncTaskScheduler; |
73 | | -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; |
74 | 69 | import org.springframework.scheduling.support.CronTrigger; |
75 | 70 | import org.springframework.scheduling.support.PeriodicTrigger; |
76 | 71 | import org.springframework.util.StringUtils; |
|
93 | 88 | afterName = "org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration") |
94 | 89 | @ConditionalOnClass(EnableIntegration.class) |
95 | 90 | @EnableConfigurationProperties({ IntegrationProperties.class, JmxProperties.class }) |
| 91 | +@Import(DefaultTaskSchedulerConfiguration.class) |
96 | 92 | public final class IntegrationAutoConfiguration { |
97 | 93 |
|
98 | 94 | @Bean(name = IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME) |
@@ -174,34 +170,6 @@ private Trigger createPeriodicTrigger(Duration period, @Nullable Duration initia |
174 | 170 |
|
175 | 171 | } |
176 | 172 |
|
177 | | - /** |
178 | | - * Expose a standard {@link org.springframework.scheduling.TaskScheduler |
179 | | - * TaskScheduler} if the user has not enabled task scheduling explicitly. A |
180 | | - * {@link SimpleAsyncTaskScheduler} is exposed if the user enables virtual threads via |
181 | | - * {@code spring.threads.virtual.enabled=true}, otherwise |
182 | | - * {@link ThreadPoolTaskScheduler}. |
183 | | - */ |
184 | | - @Configuration(proxyBeanMethods = false) |
185 | | - @ConditionalOnMissingBean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) |
186 | | - protected static class IntegrationTaskSchedulerConfiguration { |
187 | | - |
188 | | - @Bean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) |
189 | | - @ConditionalOnBean(ThreadPoolTaskSchedulerBuilder.class) |
190 | | - @ConditionalOnThreading(Threading.PLATFORM) |
191 | | - ThreadPoolTaskScheduler taskScheduler(ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder) { |
192 | | - return threadPoolTaskSchedulerBuilder.build(); |
193 | | - } |
194 | | - |
195 | | - @Bean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) |
196 | | - @ConditionalOnBean(SimpleAsyncTaskSchedulerBuilder.class) |
197 | | - @ConditionalOnThreading(Threading.VIRTUAL) |
198 | | - SimpleAsyncTaskScheduler taskSchedulerVirtualThreads( |
199 | | - SimpleAsyncTaskSchedulerBuilder simpleAsyncTaskSchedulerBuilder) { |
200 | | - return simpleAsyncTaskSchedulerBuilder.build(); |
201 | | - } |
202 | | - |
203 | | - } |
204 | | - |
205 | 173 | /** |
206 | 174 | * Spring Integration JMX configuration. |
207 | 175 | */ |
|
0 commit comments