在使用quartz框架的时候遇到的一个问题,具体如下:
在2013-07-16 10:04:57从页面添加CronTrigger的表达式如下0 0/30 ? 。每隔30分钟执行一次,但是持久化到数据库中的下一次触发事件是 2013-07-16 10:30:00 ,即第一次执行是在26分钟后。
在2013-07-16 10:04:57从页面添加CronTrigger的表达式如下0 0/20 ? 。每隔20分钟执行一次,但是持久化到数据库中的下一次触发事件是 2013-07-16 10:20:00,即第一次执行是在16分钟后。
在2013-07-16 10:54:57从页面添加CronTrigger的表达式如下0 0/30 ? 。每隔30分钟执行一次,但是持久化到数据库中的下一次触发事件是 2013-07-16 11:00:00,即第一次执行是在6分钟后。
具体是如何确定第一次执行的时间的?
如果我没有理解错的话,应该是概念略有混淆.
首先,我们确定 表示所有值. 例如:在分的字段上设置 "",表示每一分钟都会触发。
而如果是数字,则代表,在指定的时间触发.
/ 用于递增触发。如在秒上面设置"0 0/20" 表示从0分开始,每增20分触发(0,20,40)。如果设置的是"0 5/20" 则触发时间为(5,25,45) 这样,你应该就对第一次执行时间有明白了.假如设置的"0 /20"是而这个是指每一个.第一次初始化的时候假如是是10:04:57 , 则启动时间为(5,25,45) , 如果时间是10:53:57 则是会在11点的(4,24,44)执行.
所以,现在你应该可以确定第一次执行时间了.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。