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,7 +12,10 @@ | ||
| 12 | <packaging>jar</packaging> | 12 | <packaging>jar</packaging> |
| 13 | 13 | ||
| 14 | <name>${artifactId}</name> | 14 | <name>${artifactId}</name> |
| 15 | - <description>定时任务,基于 Quartz 拓展</description> | 15 | + <description>任务拓展 |
| 16 | + 1. 定时任务,基于 Quartz 拓展 | ||
| 17 | + 2. 异步任务,基于 Spring Async 拓展 | ||
| 18 | + </description> | ||
| 16 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> | 19 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 17 | 20 | ||
| 18 | <dependencies> | 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 +6,9 @@ import org.springframework.context.annotation.Bean; | ||
| 6 | import org.springframework.context.annotation.Configuration; | 6 | import org.springframework.context.annotation.Configuration; |
| 7 | import org.springframework.scheduling.annotation.EnableScheduling; | 7 | import org.springframework.scheduling.annotation.EnableScheduling; |
| 8 | 8 | ||
| 9 | +/** | ||
| 10 | + * 定时任务 Configuration | ||
| 11 | + */ | ||
| 9 | @Configuration | 12 | @Configuration |
| 10 | @EnableScheduling // 开启 Spring 自带的定时任务 | 13 | @EnableScheduling // 开启 Spring 自带的定时任务 |
| 11 | public class YudaoQuartzAutoConfiguration { | 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
| 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ | 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ |
| 2 | - cn.iocoder.yudao.framework.quartz.config.YudaoQuartzAutoConfiguration | 2 | + cn.iocoder.yudao.framework.quartz.config.YudaoQuartzAutoConfiguration,\ |
| 3 | + cn.iocoder.yudao.framework.quartz.config.YudaoAsyncAutoConfiguration |
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> |