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

819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

RAKsmart美国VPS上市,活动期间5折抢购仅$30,$1.99/月

RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...

TMThosting夏季促销:VPS月付7折,年付65折,独立服务器95折,西雅图机房

TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...

crontriggerbean为你推荐
股价图给你一张股票图你是怎么分析的具体的说chinapay什么是银联Chinapay CD卡?orderbydescSQL里面的order by语句是干什么用的?Honeypot蜜罐系统毫无破绽吗?chrome系统Chrome OS是什么系统?awvAWV的转换器 要免费的 看好是AWV不是AMVjs后退多级页面间的后退如何实现(js方法)js后退在全局js中屏蔽了后退功能,但是想让自己定义的后退有用js后退javascript怎么禁用浏览器后退按钮数据统计分析表EXCEL怎么制作百分比数据分析表图
网站域名备案 域名解析服务器 已备案域名出售 raksmart linkcloud godaddy域名转出 租空间 java空间 七夕快乐英文 怎样建立邮箱 赞助 银盘服务 web服务器搭建 smtp虚拟服务器 架设邮件服务器 服务器维护 国外网页代理 创速 免备案cdn加速 带宽测试 更多