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()为循环的次数

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

Friendhosting全场VDS主机45折,虚拟主机4折,老用户续费9折

Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...

宝塔面板企业版和专业版618年中活动 永久授权仅1888元+

我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...

crontriggerbean为你推荐
mac地址克隆路由器中的MAC地址克隆,是什么,干嘛用的mac地址克隆路由器的MAC地址克隆是什么意思 有什么作用匹配函数Excel中vlookup函数数据匹配怎么用企业资源管理系统企业人力资源管理系统的重要性?chrome系统Chrome系统怎么进bios华为总裁女儿为啥姓孟孟晚舟是谁腾讯汽车网可以了解汽车知识的权威网站大概有哪些vga接口定义vga线有几种扫图问个非常白痴的问题撒,扫图是什么意思?防火墙排名什么防火墙最好
如何注册域名 .cn域名注册 深圳域名空间 域名备案信息查询 希网动态域名 vir t牌 共享主机 国外代理服务器软件 空间登入 中国linux 华为云建站 防cc攻击 万网空间 lamp怎么读 cdn网站加速 云服务是什么意思 网站防护 空间排行榜 htaccess 更多