Commit 569ff42e6f9d2a4499ca0cfe113585e705ab59f2
1 parent
bda35750
feat:【SYSTEM 系统管理】优化支持 SimpleAsyncTaskExecutor 异步线程池
Showing
1 changed file
with
14 additions
and
6 deletions
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoAsyncAutoConfiguration.java
| ... | ... | @@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; |
| 7 | 7 | import org.springframework.context.annotation.Bean; |
| 8 | 8 | import org.springframework.scheduling.annotation.EnableAsync; |
| 9 | 9 | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| 10 | +import org.springframework.core.task.SimpleAsyncTaskExecutor; | |
| 10 | 11 | |
| 11 | 12 | /** |
| 12 | 13 | * 异步任务 Configuration |
| ... | ... | @@ -21,13 +22,20 @@ public class YudaoAsyncAutoConfiguration { |
| 21 | 22 | |
| 22 | 23 | @Override |
| 23 | 24 | public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { |
| 24 | - if (!(bean instanceof ThreadPoolTaskExecutor)) { | |
| 25 | - return bean; | |
| 25 | + // 处理 ThreadPoolTaskExecutor | |
| 26 | + if (bean instanceof ThreadPoolTaskExecutor) { | |
| 27 | + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) bean; | |
| 28 | + executor.setTaskDecorator(TtlRunnable::get); | |
| 29 | + return executor; | |
| 26 | 30 | } |
| 27 | - // 修改提交的任务,接入 TransmittableThreadLocal | |
| 28 | - ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) bean; | |
| 29 | - executor.setTaskDecorator(TtlRunnable::get); | |
| 30 | - return executor; | |
| 31 | + // 处理 SimpleAsyncTaskExecutor | |
| 32 | + // 参考 https://t.zsxq.com/CBoks 增加 | |
| 33 | + if (bean instanceof SimpleAsyncTaskExecutor) { | |
| 34 | + SimpleAsyncTaskExecutor executor = (SimpleAsyncTaskExecutor) bean; | |
| 35 | + executor.setTaskDecorator(TtlRunnable::get); | |
| 36 | + return executor; | |
| 37 | + } | |
| 38 | + return bean; | |
| 31 | 39 | } |
| 32 | 40 | |
| 33 | 41 | }; | ... | ... |