Python 官方文档:入门教程 => 点击学习
目录@Scheduled定时器用法@Scheduled的几种使用方式两个方法串行执行两个方法并行,且自己也并行两个方法并行,且自己串行@Scheduled定时器用法 程序中若需要在某
程序中若需要在某个时间循环执行某项任务,就可以使用@Scheduled定时器
源码如下:
@Scheduled(cron="0 0 21 * * ?") //每天晚上九点执行一次 21点
public void taskCycle() throws Exception{
System.out.println("############定时校验代金券过期任务开始执行");
}
@Scheduled(cron="0 0 21 * * ?")
配置完整格式为: [秒] [分] [小时] [日] [月] [周] [年]
其中每个元素 可以是一个值(如6),
由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.
0 0 10,14,16 * * ? | 每天上午10点,下午2点,4点 |
---|---|
0 0/30 9-17 * * ? | 朝九晚五工作时间内每半小时 |
0 0 12 ? * | WED 表示每个星期三中午12点 |
“0 0 12 * * ?” | 每天中午12点触发 |
“0 15 10 ? * *” | 每天上午10:15触发 |
“0 15 10 * * ?” | 每天上午10:15触发 |
“0 15 10 * * ? *” | 每天上午10:15触发 |
“0 15 10 * * ? 2005” | 2005年的每天上午10:15触发 |
“0 * 14 * * ?” | 在每天下午2点到下午2:59期间的每1分钟触发 |
“0 0/5 14 * * ?” | 在每天下午2点到下午2:55期间的每5分钟触发 |
"0 “0/5 14,18 * * ?” | 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 |
“0 0-5 14 * * ?” | 在每天下午2点到下午2:05期间的每1分钟触发 |
“0 10,44 14 ? 3 WED” | 每年三月的星期三的下午2:10和2:44触发 |
“0 15 10 ? * MON-FRI” | 周一至周五的上午10:15触发 |
“0 15 10 15 * ?” | 每月15日上午10:15触发 |
“0 15 10 L * ?” | 每月最后一日的上午10:15触发 |
“0 15 10 ? * 6L” | 每月的最后一个星期五上午10:15触发 |
“0 15 10 ? * 6L 2002-2005” | 2002年至2005年的每月的最后一个星期五上午10:15触发 |
"0 15 10 ? “* 6#3” | 每月的第三个星期五上午10:15触发 |
直接在方法上加上@Scheduled注解,
添加@EnableAsync和@Async注解
做如下配置,就可以实现了
@Configuration
@EnableScheduling
public class ScheduleConfig implements SchedulinGConfigurer {
@Override
public void configureTasks(ScheduledTaskReGIStrar taskRegistrar) {
taskRegistrar.setScheduler(taskExecutor());
}
@Bean(destroyMethod="shutdown")
public Executor taskExecutor() {
return Executors.newScheduledThreadPool(2);
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: Java @Scheduled定时器用法解析
本文链接: https://lsjlt.com/news/149224.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0