前面已经介绍过spring中定时器的配置和使用了,但楼主在使用spring 4.2.0包时才发现,原来新版的spring中对定时器的配置和老版本的配置略有不同。
spring 3.8.0定时器配置详见: spring-framework 3.2.8中定时器配置传送门
故在本节中,对spring-framework-4.2.0的定时器配置拿出来做一个简单的说明:
<!-- TotalTaskDispatcher类中包含了dayExecutor方法,用于执行不同周期定时任务 -->
<bean id="task_dispatcher" class="com.cattsoft.ipnms.plan.task.TotalTaskDispatcher"></bean>
<!-- 周期:日##定时任务 -->
<bean id="day_executor" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="task_dispatcher"></property>
<property name="targetMethod" value="dayTask"></property>
</bean>
<!-- 周期:日##间隔触发器 -->
<bean id="dayTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 注意到了吗? 此处的CronTriggerFactoryBean在老版本的spring中可不叫这个名字! -->
<property name="jobDetail" ref="day_executor"></property>
<property name="cronExpression">
<value>0 0 0 * * ?</value>
</property>
</bean>
<!-- 启动定时器 -->
<bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="dayTaskTrigger" />
</list>
</property>
</bean>
另外附上定时器配置所需要用到的包:
<1> spring-framework-4.2.0:
链接:http://pan.baidu.com/s/1mghbJ4G 密码:jdk1
<2> commons-logging-1.1.3.jar,commons-clooections.jar,quartz-2.2.2.jar,slf4j-api.1.7.7.jar,slf4j-log4j12-1.7.7.jar,jta-1.1.jar:
链接:http://pan.baidu.com/s/1i3hNQfj 密码:2rbe