读书人

调整spring与quartz的任务调用

发布时间: 2012-09-22 21:54:54 作者: rapoo

整合spring与quartz的任务调用

quartz可以定时调用用户的任务,可以很好的管理用户的线程,而不用用户操心,用户只要定义好时间和要调用的方法就行。下面看一下如何配置:

?

第一种:调用某个类里面的方法

?

1 applicationContext.xml的配置

?

<!--?定义要调用的任务的实现类 -->

?

<bean id="testQuartz" class="org.springframework.scheduling.quartz.CronTriggerBean">
????? <property name="jobDetail">
??????? <ref bean="testQuartz"/>
????? </property>
????? <property name="cronExpression">
??????? <value>0 35 16 * * ?</value>
????? </property>
?? </bean>

<!-- 触发器的管理-->

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
??<property name="triggers">
???<list>

???? <ref local="testHelloTrigger"/>????? ????
???</list>
??</property>
?? </bean>?

?

2?testQuartz.java

public class testQuartz extends QuartzJobBean {

private??UserServiceDAO userServiceDAO;
?/**

???
??? */
?protected void executeInternal(JobExecutionContext jobExecutionContext)
???throws JobExecutionException {

??? 。。。。。。。。。。//调用的任务
???????}

}

?

总结:

定义调用时间的格式:

?

Field Name??? | Mandatory???? | Allowed Values | Allowed Special Characters


Seconds????????? |? YES |? 0-59???????????? |? , - * /

Minutes??????????? |? YES??????? |? 0-59?????????? |? , - * /


Hours??????????? |? YES?????????? |? 0-23???????????? |? , - * /

Day of month? |? YES???????? |? 1-31?????????? |? , - * ? / L W C


Month??????????? |? YES?????????? |? 1-12 or JAN-DEC?? |? , - * /
Day of week | YES | 1-7 or SUN-SAT | , - * ? / L C #


Year???????????? |? NO??????? |? empty, 1970-2099? |? , - * /

至于详细的解释你一看例子就会明白

例子列表如下:
表达式 解释
0 0 12 * * ? 在每天中午12:00触发
0 15 10 ? * * 每天上午10:15 触发
0 15 10 * * ? 每天上午10:15 触发
0 15 10 * * ? * 每天上午10:15 触发
0 15 10 * * ? 2005 在2005年中的每天上午10:15 触发
0 * 14 * * ? 每天在下午2:00至2:59之间每分钟触发一次
0 0/5 14 * * ? 每天在下午2:00至2:59之间每5分钟触发一次
0 0/5 14,18 * * ? 每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次
0 0-5 14 * * ? 每天在下午2:00至2:05之间每分钟触发一次
0 10,44 14 ? 3 WED 每三月份的星期三在下午2:00和2:44时触发
0 15 10 ? * MON-FRI 从星期一至星期五的每天上午10:15触发
0 15 10 15 * ? 在每个月的每15天的上午10:15触发
0 15 10 L * ? 在每个月的最后一天的上午10:15触发
0 15 10 ? * 6L 在每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6L 2002-2005 在2002, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6#3 在每个月的第三个星期五的上午10:15触发
0 0 12 1/5 * ? 从每月的第一天起每过5天的中午12:00时触发
0 11 11 11 11 ? 在每个11月11日的上午11:11时触发.

读书人网 >Web前端

热点推荐