spring3.2整合quartz2.x

Spring整合Quartz2.x,需要使用Spring3.1以上的版本。由于Quartz 2.x修改了部分API,所以需要修改一下Quartz的配置。跟老版本需要做如下修改:
将CronTriggerBean修改为CronTriggerFactoryBean
将JobDetailBean修改为JobDetailFactoryBean

quartz需要使用到的包为:quartz-2.2.0.jar,包括log4j依赖包

spring的参考网址为:http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/scheduling.html

具体的配置如下:
<!-- spring定时调度 -->
<bean id="activateCardJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">   <!-- targetObject是Spring定时器的特殊属性 -->
<ref bean="dispatchService" />
</property>
<property name="targetMethod">    <!-- targetMethod是Spring定时器的特殊属性 -->
<value>test</value><!-- 这里的doAuth 就是java类中的任务方法 -->
</property>
</bean>

<bean id="activateCardTaskTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail"><!-- jobDetail是Spring定时器的特殊属性 -->
<ref bean="activateCardJobDetail" />
</property>
<property name="cronExpression">
<value>*/10 * * ? * *</value><!-- cronExpression是Spring定时器的特殊属性 -->
</property>
</bean>

<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">    <!-- triggers是Spring定时器的特殊属性 -->
<list>
<ref local="activateCardTaskTriggerBean" />
</list>
</property>
</bean>

你可能感兴趣的:(spring,quartz)