crontriggerbeanQuartz时间表达式

crontriggerbean  时间:2021-06-06  阅读:()

spring定时器配置

有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。

1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; public class EmailReportTask extends TimerTask{ @Override public void run() { ... } } 在Spring定义 ... 配置Spring定时器 <bean id="scheduleReportTask" class=&.springframework.scheduling.timer.ScheduledTimerTask"> <property name="timerTask" ref="reportTimerTask" /> <property name="period"> <value>86400000value> property> bean> timerTask属性告诉ScheduledTimerTask运行哪个。

86400000代表24个小时 启动Spring定时器 Spring的TimerFactoryBean负责启动定时任务 <bean class=&.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list><ref bean="scheduleReportTask"/>list> property> bean> scheduledTimerTasks里显示一个需要启动的定时器任务的列表。

可以通过设置delay属性延迟启动 <bean id="scheduleReportTask" class=&.springframework.scheduling.timer.ScheduledTimerTask"> <property name="timerTask" ref="reportTimerTask" /> <property name="period"> <value>86400000value> property> <property name="delay"> <value>3600000value> property> bean> 这个任务我们只能规定每隔24小时运行一次,无法精确到某时启动 2.Quartz定时器 首先继承QuartzJobBean类实现executeInternal方法 .quartz.JobExecutionContext; .quartz.JobExecutionException; .springframework.scheduling.quartz.QuartzJobBean; public class EmailReportJob extends QuartzJobBean{ protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { ... } } 在Spring中定义 <bean id="reportJob" class=&.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>EmailReportJobvalue> property> <property name="jobDataAsMap"> <map> <entry key="courseService"> <ref bean="courseService"/> entry> map> property> bean> 在这里我们并没有直接声明一个EmailReportJob Bean,而是声明了一个JobDetailBean。

这个是Quartz的特点。

JobDetailBean是.quartz.JobDetail的子类,它要求通过jobClass属性来设置一个Job对象。

使用Quartz的JobDetail中的另一个特别之处是EmailReportJob的courseService属性是间接设置的。

JobDetail的jobDataAsMap属性接受一个Map,包括设置给jobClass的各种属性,当。

JobDetailBean实例化时,它会将courseService Bean注入到EmailReportJob 的courseService 属性中。

启动定时器 .quartz.Trigger类描述了何时及以怎样的频度运行一个Quartz工作。

Spring提供了两个触发器SimpleTriggerBean和CronTriggerBean。

SimpleTriggerBean与scheduledTimerTasks类似。

指定工作的执行频度,模仿scheduledTimerTasks配置 . <bean id="simpleReportTrigger" class=&.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="reprotJob" /> <property name="startDelay"> <value>360000value> property> <property name="repeatInterval"> <value>86400000value> property> bean> startDelay也是延迟1个小时启动 CronTriggerBean指定工作的准确运行时间 <bean id="cronReportTrigger" class=&.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="reprotJob" /> <property name="cronExpression"> <value>0 0 6 * * ?value> property> bean> 属性cronExpression告诉何时触发。

最神秘就是cron表达式: Linux系统的计划任务通常有cron来承担。

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

从左到右: 1.秒2.分3.小时4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期中的日期(1-7或SUN-SAT)7.年份(1970-2099) 每个元素都显示的规定一个值(如6),一个区间(9-12),一个列表(9,11,13)或一个通配符(*)。

因为4和6这两个元素是互斥的,因此应该通过设置一个问号(?)来表明不想设置的那个字段,“/”如果值组合就表示重复次数(10/6表示每10秒重复6次)。

启动定时器 <bean class=&.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list><ref bean="cronReportTrigger"/>list> property> bean> triggers属性接受一组触发器。

请教,spring3.2+quartz2.1.6报如下错误如何解决

Spring官网有说明其已支持Quartz 2.x,但是需要将Spring升级到3.1以上。

由于Quartz 2.x修改了部分API,所以需要修改一下Quartz的配置。

大体来说很简单,如下: 1)升级Spring的jar包 2)升级Quartz的jar包 3)修改配置 将CronTriggerBean修改为CronTriggerFactoryBean 将JobDetailBean修改为JobDetailFactoryBean

Quartz时间表达式

使用SimpleTrigger 这个类,其中setStartTime()为设置开始时间,setEndTime()为设置结束时间,setRepeatlnterval()为每次的间隔时间,单位时毫秒,setRepeatCount()为循环的次数

酷锐云香港(19元/月) ,美国1核2G 19元/月,日本独立物理机,

酷锐云是一家2019年开业的国人主机商家,商家为企业运营,主要销售主VPS服务器,提供挂机宝和云服务器,机房有美国CERA、中国香港安畅和电信,CERA为CN2 GIA线路,提供单机10G+天机盾防御,提供美国原生IP,支持媒体流解锁,商家的套餐价格非常美丽,CERA机房月付20元起,香港安畅机房10M带宽月付25元,有需要的朋友可以入手试试。酷锐云自开业以来一直有着良好的产品稳定性及服务态度,支...

racknerd:美国大硬盘服务器(双路e5-2640v2/64g内存/256gSSD+160T SAS)$389/月

racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...

TMTHosting:夏季优惠,美国西雅图VPS月付7折,年付65折,美国服务器95折AS4837线路

tmthosting怎么样?tmthosting家本站也分享过多次,之前也是不温不火的商家,加上商家的价格略贵,之到斯巴达商家出现,这个商家才被中国用户熟知,原因就是斯巴达家的机器是三网回程AS4837线路,而且也没有多余的加价,斯巴达家断货后,有朋友发现TMTHosting竟然也在同一机房,所以大家就都入手了TMTHosting家的机器。目前,TMTHosting商家放出了夏季优惠,针对VPS推...

crontriggerbean为你推荐
ostringstreams1.str() ostr c++中什么意思腾讯举报中心腾讯的投诉电话是多少啊?病历单病例单都有哪些内容?cpu监控电脑硬件监控软件有哪些?视频技术怎么做视频?jstz请帮忙翻译qq网络硬盘我QQ的网络硬盘怎么啦?assemblyinfoCSE和CS有什么区别棋牌论坛三个知名的游戏相关论坛,要求有网址的!kjavaKJAVA业务信息费是什么东西啊,我怎么会被莫莫名其妙的扣掉11元啊
长沙域名注册公司 x3220 独享100m 免备案cdn 特价空间 服务器日志分析 免费ftp站点 java空间 ibox官网 老左来了 vip域名 个人免费主页 服务器论坛 免费个人主页 实惠 购买空间 百度新闻源申请 cdn免备案空间 免费服务器 wordpress安装 更多