springmvc整合Quartz

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!Quartz整合在sPRing mvc的步骤:

1)准备spring.jar包

2)在WebRoot——>WEB-INF目录下创建spring-listener.xml文件

3)在该xml文件添加以下代码:

使用CronTrigger:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="quartzJob"class="com.quartz.CommonQuartz"

</bean>

<bean id="quartzTask"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject">

<ref bean="quartzJob"></ref>

</property>

<property name="targetMethod">

<value>TaskFunction</value>

</property>

</bean>

<bean id="startQuartzTime"class="org.springframework.scheduling.quartz.CronTriggerBean">

<property name="jobDetail">

<ref bean="quartzTask"></ref>

</property>

<property name="cronExpression">

<value>*/1 * * * * ? </value>

</property>

</bean>

<bean id="startQuartz" lazy-init="false" autowire="no"class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

<ref bean="startQuartzTime"></ref>

</list>

</property>

</bean>

</beans>

其中cronExpression表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏。

表示式

说明

"0 0 12 * * ? "

每天12点运行

"0 15 10 ? * *"

每天10:15运行

"0 15 10 * * ?"

每天10:15运行

"0 15 10 * * ? *"

每天10:15运行

"0 15 10 * * ? 2008"

在2008年的每天10:15运行

"0 * 14 * * ?"

每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。

"0 0/5 14 * * ?"

每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。

"0 0/5 14,18 * * ?"

每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。

"0 0-5 14 * * ?"

每天14:00点到14:05,每分钟运行一次。

"0 10,44 14 ? 3 WED"

3月每周三的14:10分到14: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 2007-2009"

在2007,2008,2009年每个月的最后一个星期五的10:15分运行。

"0 15 10 ? * 6#3"

每月第三个星期五的10:15分运行。

使用SimpleTrigger:<bean id="simpleTriggerTime"class="org.springframework.scheduling.quartz.SimpleTriggerBean">

<property name="jobDetail">

<ref bean="quartzTask"></ref>

</property>

<property name="startDelay" value="0" />

<property name="repeatInterval">

<value>3600000</value>

</property>

</bean>

4)在com.quartz.CommonQuartz类下添加TaskFunction方法,该方法即作业调度方法。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航