From 2f3631cc91319a765b495dd58294d559aaa5b0e8 Mon Sep 17 00:00:00 2001 From: JiyangTang Date: Tue, 9 Jan 2024 18:08:28 +0800 Subject: [PATCH] add schedule config --- .../admin/config/SaTokenConfigure.java | 40 +++++++++---------- .../common/config/ExecutorConfig.java | 24 ++++++++--- .../common/config/ScheduleConfig.java | 25 ++++++++++++ 3 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 baogutang-common/src/main/java/top/baogutang/common/config/ScheduleConfig.java diff --git a/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java b/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java index 3a3fcf4..907b364 100644 --- a/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java +++ b/baogutang-admin/src/main/java/top/baogutang/admin/config/SaTokenConfigure.java @@ -1,20 +1,20 @@ -package top.baogutang.admin.config; - -import cn.dev33.satoken.strategy.SaStrategy; -import cn.dev33.satoken.util.SaFoxUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class SaTokenConfigure { - /** - * 重写 Sa-Token 框架内部算法策略 - */ - @Autowired - public void rewriteSaStrategy() { - // 重写 Token 生成策略 - SaStrategy.me.createToken = (loginId, loginType) -> { - return SaFoxUtil.getRandomString(60); - }; - } -} +//package top.baogutang.admin.config; +// +//import cn.dev33.satoken.strategy.SaStrategy; +//import cn.dev33.satoken.util.SaFoxUtil; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.context.annotation.Configuration; +// +//@Configuration +//public class SaTokenConfigure { +// /** +// * 重写 Sa-Token 框架内部算法策略 +// */ +// @Autowired +// public void rewriteSaStrategy() { +// // 重写 Token 生成策略 +// SaStrategy.me.createToken = (loginId, loginType) -> { +// return SaFoxUtil.getRandomString(60); +// }; +// } +//} diff --git a/baogutang-common/src/main/java/top/baogutang/common/config/ExecutorConfig.java b/baogutang-common/src/main/java/top/baogutang/common/config/ExecutorConfig.java index ddf797a..0b23bc4 100644 --- a/baogutang-common/src/main/java/top/baogutang/common/config/ExecutorConfig.java +++ b/baogutang-common/src/main/java/top/baogutang/common/config/ExecutorConfig.java @@ -20,22 +20,36 @@ public class ExecutorConfig { @Value("${spring.application.name}") private String appName; - @Value("${thread.pool.core.pool.size:10}") + @Value("${thread.pool.core.pool.size:5}") private Integer corePoolSize; - @Value("${thread.pool.max.pool.size:20}") + @Value("${thread.pool.max.pool.size:10}") private Integer maxPoolSize; @Value("${thread.pool.keep.alive.second:10}") private Integer keepAliveSecond; - @Value("${thread.pool.queue.capacity:200}") + @Value("${thread.pool.queue.capacity:100}") private Integer queueCapacity; @Bean("commonExecutor") - public ThreadPoolTaskExecutor threadPoolTaskExecutor() { + public ThreadPoolTaskExecutor commonExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setThreadNamePrefix(appName); + executor.setThreadNamePrefix(appName + "-common-"); + executor.setCorePoolSize(corePoolSize); + executor.setMaxPoolSize(maxPoolSize); + executor.setKeepAliveSeconds(keepAliveSecond); + executor.setQueueCapacity(queueCapacity); + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + executor.setWaitForTasksToCompleteOnShutdown(true); + executor.initialize(); + return executor; + } + + @Bean("scheduleExecutor") + public ThreadPoolTaskExecutor scheduleExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setThreadNamePrefix(appName + "-schedule-"); executor.setCorePoolSize(corePoolSize); executor.setMaxPoolSize(maxPoolSize); executor.setKeepAliveSeconds(keepAliveSecond); diff --git a/baogutang-common/src/main/java/top/baogutang/common/config/ScheduleConfig.java b/baogutang-common/src/main/java/top/baogutang/common/config/ScheduleConfig.java new file mode 100644 index 0000000..9808470 --- /dev/null +++ b/baogutang-common/src/main/java/top/baogutang/common/config/ScheduleConfig.java @@ -0,0 +1,25 @@ +package top.baogutang.common.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; + +import javax.annotation.Resource; + +/** + * @description: 定时调度任务线程配置 + * @author: nikooh + * @date: 2024/01/09 : 17:56 + */ +@Configuration +public class ScheduleConfig implements SchedulingConfigurer { + + @Resource(name = "scheduleExecutor") + private ThreadPoolTaskExecutor scheduleExecutor; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.setScheduler(scheduleExecutor); + } +}