- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring集成Quartz定时任务框架介绍和Cron表达式详解
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。一、增加所依赖的JAR包1、增加Spring的Maven依赖dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion3.0.5.RELEASE/version/dependency2、增加Quartz的Maven依赖dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion1.8.4/version/dependency二、增加定时业务逻辑类publicclassExpireJobTask {/** Logger */privatestaticfinal Logger logger = LoggerFactory.getLogger(ExpireJobTask.class);/** * 业务逻辑处理 */publicvoiddoBiz() {// 执行业务逻辑 // ........ }}ExpireJobTask业务逻辑类与一般普通的类没有任务区别,它定义的doBiz方法即为调度业务方法。三、增加Spring配置1、增加一个线程池!-- 线程执行器配置,用于任务注册 --bean id=executorclass=org.springframework.scheduling.concurrent.ThreadPoolTaskExecutorproperty name=corePoolSize value=10/property name=maxPoolSize value=100/property name=queueCapacity value=500//bean2、定义业务逻辑处理类!-- 业务对象 --bean id=bizObject class=mon.toolkit.scheduling.ExpireJobTask/3、增加调度业务逻辑!-- 调度业务 --bean id=jobDetail class=org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty name=targetObject ref=bizObject/property name=targetMethod value=doBiz//bean上面的配置中,我们以bizObject.doBiz方法为将要调度的业务执行逻辑。4、增加调度触发器bean id=cronTrigger class=org.springframework.scheduling.quartz.CronTriggerBeanproperty name=jobDetail ref=jobDetail/property name=cronExpression value=10 0/1 * * * ?//beanCron表达式“10 */1 * * * ?”意为:从10秒开始,每1分钟执行一次。bean id=taskTrigger class=org.springframework.scheduling.quartz.SimpleTriggerBeanproperty name=jobDetail ref=jobDetail/property name=startDelay value=10000/property name=repeatInterval value=60000//bean该调度表示,延迟10秒启动,然后每隔1分钟执行一次。5、增加调度!-- 设置调度 --bean class=org.springframework.scheduling.quartz.SchedulerFactoryBeanproperty name=triggerslistref bean=cronTrigger//list/propertyproperty name=taskExecutor ref=executor//beantriggers属性中,我们可以增加多个触发器。到此,Spring已经与Quartz完美的结合了,我们接下来的工作就是启动系统,开始调度了。四、Cron表达式的详细用
您可能关注的文档
最近下载
- 《包装工程》投稿写作模板 模板使用说明: 1. 请将稿件直接 ....doc
- 百胜包装品工厂质量体系审核纲要及评估细则 V2012.pdf VIP
- 个人信用报告征信详细版纸质版2024年2月最新版带水印可编辑-实线.pdf
- 第三十届WMO省测特训营6年级第二讲——寻找透明的积木.docx VIP
- 第三十届WMO省测特训营6年级第二讲——课后练习题含答案.docx VIP
- 第三十届WMO省测特训营6年级第一讲——课后练习题含答案.pdf VIP
- PBL病例—休克【24页】(最新文档).pptx VIP
- 故事——小羊过桥.ppt
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf
- 食品用包材供应商现场审核方案(检查表).xls VIP
文档评论(0)