在开发中遇到的定时任务:定时查询数据库的数据
Application.xml配置:
<task:executor id=“executor” pool-size=“5” />
<task:scheduler id=“scheduler” pool-size=“10” />
<task:annotation-driven executor=“executor” scheduler=“scheduler” />
在Impl里注解:@scheduled(corn=" 0 0 9 1 * ?")【每月一号上午九点】(具体的表达式可自行网上查看,比较多,这里只写一些简单的仅供参考)
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
具体corn表达式链接:https://www.cnblogs.com/junrong624/p/4239517.html
追加:今天写定时任务时突然想看看这个每隔多少秒的表达式改为不止60秒想看看会怎么样,有兴趣的朋友也可以试试哦。
我的:
我先改为了每隔61秒,好像是报错了, java.text.ParseException: Increment > 60 : 61,
这个是不是说最大60,61超过了,我于是改为了60,好像还是不对,我又改为了59,定时任务是开启了,但是我发现连着执行了两次,我看了一下代码是不是哪里写错了,后来没找到,改为30秒又可以了,没找到59秒执行两次的原因。