add schedule config

This commit is contained in:
JiyangTang 2024-01-09 18:08:28 +08:00
parent 518ee9f7f5
commit 2f3631cc91
3 changed files with 64 additions and 25 deletions

View File

@ -1,20 +1,20 @@
package top.baogutang.admin.config; //package top.baogutang.admin.config;
//
import cn.dev33.satoken.strategy.SaStrategy; //import cn.dev33.satoken.strategy.SaStrategy;
import cn.dev33.satoken.util.SaFoxUtil; //import cn.dev33.satoken.util.SaFoxUtil;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
//
@Configuration //@Configuration
public class SaTokenConfigure { //public class SaTokenConfigure {
/** // /**
* 重写 Sa-Token 框架内部算法策略 // * 重写 Sa-Token 框架内部算法策略
*/ // */
@Autowired // @Autowired
public void rewriteSaStrategy() { // public void rewriteSaStrategy() {
// 重写 Token 生成策略 // // 重写 Token 生成策略
SaStrategy.me.createToken = (loginId, loginType) -> { // SaStrategy.me.createToken = (loginId, loginType) -> {
return SaFoxUtil.getRandomString(60); // return SaFoxUtil.getRandomString(60);
}; // };
} // }
} //}

View File

@ -20,22 +20,36 @@ public class ExecutorConfig {
@Value("${spring.application.name}") @Value("${spring.application.name}")
private String appName; private String appName;
@Value("${thread.pool.core.pool.size:10}") @Value("${thread.pool.core.pool.size:5}")
private Integer corePoolSize; private Integer corePoolSize;
@Value("${thread.pool.max.pool.size:20}") @Value("${thread.pool.max.pool.size:10}")
private Integer maxPoolSize; private Integer maxPoolSize;
@Value("${thread.pool.keep.alive.second:10}") @Value("${thread.pool.keep.alive.second:10}")
private Integer keepAliveSecond; private Integer keepAliveSecond;
@Value("${thread.pool.queue.capacity:200}") @Value("${thread.pool.queue.capacity:100}")
private Integer queueCapacity; private Integer queueCapacity;
@Bean("commonExecutor") @Bean("commonExecutor")
public ThreadPoolTaskExecutor threadPoolTaskExecutor() { public ThreadPoolTaskExecutor commonExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); 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.setCorePoolSize(corePoolSize);
executor.setMaxPoolSize(maxPoolSize); executor.setMaxPoolSize(maxPoolSize);
executor.setKeepAliveSeconds(keepAliveSecond); executor.setKeepAliveSeconds(keepAliveSecond);

View File

@ -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);
}
}