编辑
2023-03-23
实用工具
00
请注意,本文编写于 741 天前,最后修改于 513 天前,其中某些信息可能已经过时。

目录

Spring定时自动任务
启动类添加注解
创建定时任务类
Spring异步任务
启动类添加开启异步任务注解
在方法上添加异步注解
创建异步线程池

Spring定时自动任务

启动类添加注解

java
@EnableScheduling

创建定时任务类

java
@Component public class AutoSubmitJob { @Value("${job.submit.enabled}") private boolean enabled; //@Scheduled(cron = "0 0 1 * * ? ") @Scheduled(cron = "${job.submit.cron}") public void execute() { if (enabled) { //具体业务 } logger.info("自动任务开关为关闭状态--------任务结束"); } }

在线cron表达式 每天凌晨一点开始启动

Spring异步任务

启动类添加开启异步任务注解

java
@EnableAsync

在方法上添加异步注解

java
// @Async("scheduleTaskExecutor") @Async

创建异步线程池

java
@Configuration public class PoolConfig { @Bean("scheduleTaskExecutor") public TaskExecutor taskExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); // 设置核心线程数 executor.setCorePoolSize(10); // 设置最大线程数 executor.setMaxPoolSize(15); // 设置队列容量 executor.setQueueCapacity(20); // 设置线程活跃时间(秒) executor.setKeepAliveSeconds(60); // 设置默认线程名称 executor.setThreadNamePrefix("zszxz-"); // 设置拒绝策略 executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 等待所有任务结束后再关闭线程池 executor.setWaitForTasksToCompleteOnShutdown(true); return executor; } }

异步注解可以和定时任务一起使用,变成定时异步任务

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!