内容概要
本文旨在为spring boot 相关工作人员,快速进行开发而做的笔记备份。
环境包
jdk: jdk1.8.0_121(32位)
pom: Spring架构 默认配置
基础配置
@Configuration //继承 SchedulingConfigurer
public class ScheduleConfig implements SchedulingConfigurer{
@Override //实现配置方法 设置连接池 不设置则使用默认单线程计划
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
//将我们自定义的线程池 配置给 Schedule
taskRegistrar.setScheduler(taskExecutor());
}
//@Bean方法 用于系统依赖创建 所需要的连接池
//【注】系统关闭线程池 使用需要调用shutDown 类比 数据库连接池也需要调用 close方法。
//原因 线程池 在系统关闭JVM线程后 不会自动关闭 用户线程,线程池创建的是用户线程。
//既 系统关闭 已创建的线程 即使已执行完程序,也不会释放资源
@Bean(destroyMethod="shutdown")
public Executor taskExecutor() {
//创建自定义线程池
//可以根据项目需要 具体设置
return Executors.newScheduledThreadPool(10);
}
}
任务安排
@Component //注解加入
public class myTask {
private Logger logger = LoggerFactory.getLogger(myTask.class);
//@Scheduled: 注解告诉 Spring 此方法为 Scheduled 方法
//cron :设置cron表达式 实现定时计划 可如例: 与EL表达式联合使用
@Scheduled(cron = "${test.task.cron}")
public void testTask(){
logger.info("计划任务测试");
}
}
定时触发器
在 application里配置
具体cron 写法 请自行 搜索,暂时未做总结
版权声明:本文为Shane_FZ_C原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。