spring-在使用quartz框架的时候添加CronTrigger的时候无法确定第一次执行的时间

问题描述

在使用quartz框架的时候添加CronTrigger的时候无法确定第一次执行的时间

在使用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)执行.
所以,现在你应该可以确定第一次执行时间了.
时间: 2025-01-01 13:02:18

spring-在使用quartz框架的时候添加CronTrigger的时候无法确定第一次执行的时间的相关文章

【spring+quartz框架】scheduler.reschedulejob后执行了多次

问题描述 [spring+quartz框架]scheduler.reschedulejob后执行了多次 关于spring+quartz框架配置多线程调度任务,小弟有一事一直没搞明白 一.quartz.properties中配置: #=============================================================== #Configure Main Scheduler Properties #================================

Spring 3整合Quartz 2实现定时任务二:动态添加任务

前面,我们已经对Spring 3和Quartz 2用配置文件的方式进行了整合,如果需求比较简单的话应该已经可以满足了.但是很多时候,我们常常会遇到需要动态的添加或修改任务,而spring中所提供的定时任务组件却只能够通过修改xml中trigger的配置才能控制定时任务的时间以及任务的启用或停止,这在带给我们方便的同时也失去了动态配置任务的灵活性.我搜索了一些网上的解决方法,都没有很好的解决这个问题,而且大多数提到的解决方案都停留在Quartz 1.x系列版本上,所用到的代码和API已经不能适用于

Spring Boot整合Quartz实现定时任务表配置

最近有个小项目要做,spring mvc下的task设置一直不太灵活,因此在Spring Boot上想做到灵活的管理定时任务.需求就是,当项目启动的时候,如果有定时任务则加载进来,生成scheduler,通过后台表配置可以随时更新定时任务状态(启动.更改.删除). 添加依赖 <!-- spring's support for quartz --> <dependency> <groupId>org.springframework</groupId> <

spring+springMVC+mybatis的框架项目基础环境搭建

上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这个,但是当时重点在于实现activiti的功能,因此在环境搭建上也只是以能用为前提,与真实项目中所用的还是差了不少. 因此为了给接下来的项目做准备,今天便抽空练习了一下这个框架组合的搭建.虽然之前的框架都不是我来搭,接下来这个可能也不是让我搭,但记录下来说不定以后能用上,也或者对其他人有用. 那么进

Spring 3整合Quartz 2实现定时任务(转)

http://www.meiriyouke.net/?p=82 最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖: <dependencies> <dependency> <groupId>org.springframework</groupId>

Spring 3整合Quartz 2实现手动设置定时任务:新增,修改,删除,暂停和恢复----每一个你不满意的当下,都有一个你不曾努力的过去

  摘要:在项目的管理功能中,对定时任务的管理有时会很常见.但一般定时任务配置都在xml中完成,包括cronExpression表达式,十分的方便.但是如果我的任务信息是保存在数据库的,想要动态的初始化,还有就是任务较多的时候不是得有一大堆的xml配置?或者说我要修改一下trigger的表达式,使原来5秒运行一次的任务变成10秒运行一次,或者说我要控制定时任务的 " 暂停 " 呢?暂停之后又要在某个时间点 " 重启 " 该定时任务呢?或者说直接 " 删除 

Web项目中使用Spring 3.x + Quartz 2.x实现作业调度详解

Quartz是一个基于Java的作业调度管理的轻量级框架,目前在很多企业应用中被使用,它的作用类似于java.util中的Timer和TimeTask.数据库中的job等,但Quartz的功能更强大.更灵活.从Quartz2开始,你可以使用POJO作为一个任务(Job),这种开发方式进一步降低了代码的耦合度,如果跟Spring进行整合,使用起来将更加方便简单. 整合开发需要使用的jar如下所示: 接下来写一个被调度的任务: 然后可以在web.xml配置Spring的ContextLoaderLi

Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务

前面我们已经完成了spring 3和quartz 2的整合以及动态添加定时任务,我们接着来完善它,使之能支持更多的操作,例如暂停.恢复.修改等. 在动态添加定时任务中其实已经涉及到了其中的一些代码,这里我们再来细化的理一理.先来看一下我们初步要实现的目标效果图,这里我们只在内存中操作,并没有把quartz的任何信息保存到数据库,即使用的是RAMJobStore,当然如果你有需要,可以实现成JDBCJobStore,那样任务信息将会更全面,貌似还有专门的监控工具,不过本人没有用过: 如上图,我们要

Spring 3整合Quartz 2实现定时任务一:常规整合

最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core&l