springMVC开源作业调度框架--quartz

来源:互联网 发布:学网络营销好还是java 编辑:程序博客网 时间:2024/06/03 12:57

1.利用maven导入quartz相关的依赖包

<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency>

2.任务调度的相关配置

<bean id="scheduler"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="cronTriggerBean1" /><ref bean="cronTriggerBean2" /></list></property></bean><bean id="quartz1"class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><property name="jobClass" value="com.ltmap.platform.protocol.mdm.service.Job1"></property></bean><bean id="cronTriggerBean1"class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><property name="jobDetail" ref="quartz1"></property><property name="cronExpression" value=" 0/1 * * * * ? "></property><!-- 每天的0点0分0秒触发 0 0 0 * * ? --></bean><bean id="quartz2"class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><property name="jobClass" value="com.ltmap.platform.protocol.mdm.service.Job2"></property></bean><bean id="cronTriggerBean2"class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><property name="jobDetail" ref="quartz2"></property><property name="cronExpression" value=" 0/4 * * * * ? "></property><!-- 每天的0点0分0秒触发 0 0 0 * * ? --></bean>


3.编写调度任务执行类

job1

package com.ltmap.platform.protocol.mdm.service;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;public class Job1 extends QuartzJobBean {@Overrideprotected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {// TODO Auto-generated method stubSystem.out.println("定时任务执行中…");/** * 要调度的具体任务 */}}
job2

package com.ltmap.platform.protocol.mdm.service;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;public class Job2 extends QuartzJobBean {@Overrideprotected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {// TODO Auto-generated method stubSystem.out.println("this is job2");}}

4.任务时间配置


表 5.1. 包括了分钟频度的任务计划 Cron 表达式用法表达式每天的从 5:00 PM 至 5:59 PM 中的每分钟触发0 * 17 * * ?每天的从 11:00 PM 至 11:55 PM 中的每五分钟触发0 0/5 23 * * ?
每天的从 3:00 至 3:55 PM 和 6:00 PM 至 6:55 PM 之中的每五分钟触发0 0/5 15,18 * * ?
每天的从 5:00 AM 至 5:05 AM 中的每分钟触发0 0-5 5 * * ?


·日上的 Cron 表达式


表 5.2. 基于日的频度上任务计划的 Cron 表达式
用法表达式每天的 3:00 AM0 0 3 * * ?每天的 3:00 AM (另一种写法)0 0 3 ? * *每天的 12:00 PM (中午)0 0 12 * * ?在 2005 中每天的 10:15 AM0 15 10 * * ? 2005


·周和月的 Cron 表达式

表 5.3. 基于周和/或月的频度上任务计划的 Cron 表达式用法表达式在每个周一,二, 三和周四的 10:15 AM0 15 10 ? * MON-FRI每月15号的 10:15 AM0 15 10 15 * ?每月最后一天的 10:15 AM0 15 10 L * ?每月最后一个周五的 10:15 AM0 15 10 ? * 6L在 2002, 2003, 2004, 和 2005 年中的每月最后一个周五的 10:15 AM0 15 10 ? * 6L 2002-2005每月第三个周五的 10:15 AM0 15 10 ? * 6#3每月从第一天算起每五天的 12:00 PM (中午)0 0 12 1/5 * ?每一个 11 月 11 号的 11:11 AM0 11 11 11 11 ?三月份每个周三的 2:10 PM 和 2:44 PM0 10,44 14 ? 3 WED




0 0
原创粉丝点击