javascript
Spring3.1.0+Quartz1.8.6整合实现计划任务
1.首先要加入任務(wù)計(jì)劃的相關(guān)的jar包,這里除了需要加Spring3.1.0的jar,還需要加quartz-all-1.8.6.jarslf4j-api-1.5.8.jar
slf4j-log4j12.jar這三個(gè)包,如果你是SSH整合的項(xiàng)目,里面有下面的兩個(gè)包了,就可以不加,只加上面的一個(gè)就可以了。
2.接下來就是寫Spring的配置文件了:如下:
<!-- 任務(wù)計(jì)劃 --><!-- 要調(diào)用的工作 --><bean id="timerAction" class="cn.gov.csrc.report.action.TimerAction"></bean><!-- 定義調(diào)用對(duì)象和調(diào)用對(duì)象的方法 --><bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><!-- 調(diào)用的類 --><property name="targetObject"><ref bean="timerAction"/></property><!-- 調(diào)用類中的方法 --><property name="targetMethod"><value>start</value></property></bean><!-- 定義觸發(fā)時(shí)間 --><bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><ref bean="jobtask"/></property><!-- cron表達(dá)式 --><property name="cronExpression"><!-- 每天晚上11點(diǎn)59分鐘59秒執(zhí)行一次 --><value>0 59 23 * * ?</value></property></bean><!-- 總管理類,如果將lazy-init='false'那么容器啟動(dòng)就會(huì)執(zhí)行調(diào)度程序 --><bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="doTime"/></list></property></bean>3.最后的你要執(zhí)行的action類:如下:
package cn.gov.csrc.report.action;import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean;public class TimerAction extends QuartzJobBean{private int timeout;public void setTimeout(int timeout) {this.timeout = timeout;}@Overrideprotected void executeInternal(JobExecutionContext arg0)throws JobExecutionException {// TODO Auto-generated method stub}public void start(){System.out.println("定時(shí)器開始了");} }4.下面簡單的介紹一下cron expressions(調(diào)度表達(dá)式)
例子列表如下:
表達(dá)式 解釋
0 0 12 * * ? 在每天中午12:00觸發(fā)
0 15 10 ? * * 每天上午10:15 觸發(fā)
0 15 10 * * ? 每天上午10:15 觸發(fā)
0 15 10 * * ? * 每天上午10:15 觸發(fā)
0 15 10 * * ? 2005 在2005年中的每天上午10:15 觸發(fā)
0 * 14 * * ? 每天在下午2:00至2:59之間每分鐘觸發(fā)一次
0 0/5 14 * * ? 每天在下午2:00至2:59之間每5分鐘觸發(fā)一次
0 0/5 14,18 * * ? 每天在下午2:00至2:59和6:00至6:59之間的每5分鐘觸發(fā)一次
0 0-5 14 * * ? 每天在下午2:00至2:05之間每分鐘觸發(fā)一次
0 10,44 14 ? 3 WED 每三月份的星期三在下午2:00和2:44時(shí)觸發(fā)
0 15 10 ? * MON-FRI 從星期一至星期五的每天上午10:15觸發(fā)
0 15 10 15 * ? 在每個(gè)月的每15天的上午10:15觸發(fā)
0 15 10 L * ? 在每個(gè)月的最后一天的上午10:15觸發(fā)
0 15 10 ? * 6L 在每個(gè)月的最后一個(gè)星期五的上午10:15觸發(fā)
0 15 10 ? * 6L 2002-2005 在2002, 2003, 2004 and 2005年的每個(gè)月的最后一個(gè)星期五的上午10:15觸發(fā)
0 15 10 ? * 6#3 在每個(gè)月的第三個(gè)星期五的上午10:15觸發(fā)
0 0 12 1/5 * ? 從每月的第一天起每過5天的中午12:00時(shí)觸發(fā)
0 11 11 11 11 ? 在每個(gè)11月11日的上午11:11時(shí)觸發(fā).
5.最后附上quartz的jar包和表達(dá)式生成工具的下載地址:http://pan.baidu.com/s/1o6M3PB8
總結(jié)
以上是生活随笔為你收集整理的Spring3.1.0+Quartz1.8.6整合实现计划任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android studio开源代码,A
- 下一篇: a href=#与 a href=jav