Commit ade55d89a477563349c4149059af191a8cb70ae9
1 parent
cc78025f
多租户,接入 Spring Async 机制
Showing
11 changed files
with
48 additions
and
30 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/async/config/AsyncConfiguration.java deleted
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/async/package-info.java deleted
yudao-framework/yudao-spring-boot-starter-job/pom.xml
| ... | ... | @@ -12,7 +12,10 @@ |
| 12 | 12 | <packaging>jar</packaging> |
| 13 | 13 | |
| 14 | 14 | <name>${artifactId}</name> |
| 15 | - <description>定时任务,基于 Quartz 拓展</description> | |
| 15 | + <description>任务拓展 | |
| 16 | + 1. 定时任务,基于 Quartz 拓展 | |
| 17 | + 2. 异步任务,基于 Spring Async 拓展 | |
| 18 | + </description> | |
| 16 | 19 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 17 | 20 | |
| 18 | 21 | <dependencies> | ... | ... |
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoAsyncAutoConfiguration.java
0 → 100644
| 1 | +package cn.iocoder.yudao.framework.quartz.config; | |
| 2 | + | |
| 3 | +import com.alibaba.ttl.TtlRunnable; | |
| 4 | +import org.springframework.beans.BeansException; | |
| 5 | +import org.springframework.beans.factory.config.BeanPostProcessor; | |
| 6 | +import org.springframework.context.annotation.Bean; | |
| 7 | +import org.springframework.context.annotation.Configuration; | |
| 8 | +import org.springframework.scheduling.annotation.EnableAsync; | |
| 9 | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 异步任务 Configuration | |
| 13 | + */ | |
| 14 | +@Configuration | |
| 15 | +@EnableAsync | |
| 16 | +public class YudaoAsyncAutoConfiguration { | |
| 17 | + | |
| 18 | + @Bean | |
| 19 | + public BeanPostProcessor threadPoolTaskExecutorBeanPostProcessor() { | |
| 20 | + return new BeanPostProcessor() { | |
| 21 | + | |
| 22 | + @Override | |
| 23 | + public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { | |
| 24 | + if (!(bean instanceof ThreadPoolTaskExecutor)) { | |
| 25 | + return bean; | |
| 26 | + } | |
| 27 | + // 修改提交的任务,接入 TransmittableThreadLocal | |
| 28 | + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) bean; | |
| 29 | + executor.setTaskDecorator(TtlRunnable::get); | |
| 30 | + return executor; | |
| 31 | + } | |
| 32 | + | |
| 33 | + }; | |
| 34 | + } | |
| 35 | + | |
| 36 | +} | ... | ... |
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoQuartzAutoConfiguration.java
| ... | ... | @@ -6,6 +6,9 @@ import org.springframework.context.annotation.Bean; |
| 6 | 6 | import org.springframework.context.annotation.Configuration; |
| 7 | 7 | import org.springframework.scheduling.annotation.EnableScheduling; |
| 8 | 8 | |
| 9 | +/** | |
| 10 | + * 定时任务 Configuration | |
| 11 | + */ | |
| 9 | 12 | @Configuration |
| 10 | 13 | @EnableScheduling // 开启 Spring 自带的定时任务 |
| 11 | 14 | public class YudaoQuartzAutoConfiguration { | ... | ... |
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/package-info.java
yudao-framework/yudao-spring-boot-starter-job/src/main/resources/META-INF/spring.factories
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/async/《芋道 Spring Boot 异步任务入门》.md renamed to yudao-framework/yudao-spring-boot-starter-job/《芋道 Spring Boot 异步任务入门》.md
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/framework/async/config/AsyncConfiguration.java deleted
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/framework/async/package-info.java deleted
yudao-user-server/src/main/java/cn/iocoder/yudao/userserver/framework/async/《芋道 Spring Boot 异步任务入门》.md deleted
| 1 | -<http://www.iocoder.cn/Spring-Boot/Async-Job/?yudao> |