由于项目需要学习了一下定时触发的功能。
Spring提供了支持时序调度,对于Quartz Scheduler和Timer两者存在一个方便的类允许你调用目标对象(类似于通常的MethodInvokingFactoryBeans)上的某个方法。
可以灵活定时调用,bean中的方法。
主要用到 org.springframework.scheduling.quartz.SimpleTriggerBean 类
<bean id="topDailyTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!-- see the example of method invoking job above -->
<property name="jobDetail" ref="jobDetail" />
<!-- 启动后5秒开始 计时 -->
<property name="startDelay" value="5000" />
<!-- repeat every 一个小时 seconds -->
<property name="repeatInterval" value="3600000" />
</bean>
一个任务 指定执行的bean 和对应的方法
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="DailyEntryManager" />
<property name="targetMethod" value="excut" />
<property name="concurrent" value="false" />
</bean>
这个是要执行的bean 声明
<bean id="DailyEntryManager" class="net.bokee.dailymodule.service.DailyEntryManagerImpl">
</bean>
最后不要忘记这个配置
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="topDailyTrigger" />
</list>
</property>
</bean>
说明:org.springframework.scheduling.quartz.SchedulerFactoryBean这是一个spring的工厂bean,在他的triggers属性列表中加入刚才定义的触发器,这里可以定义多个触发器(list嘛)。
下面学习一下 定时表达式
[img]http://fs01.bokee.net/userfilespace/2007/04/13/hqmank426505.jpg[/img]
[img]http://fs01.bokee.net/userfilespace/2007/04/13/hqmank426511.jpg[/img]
Spring提供了支持时序调度,对于Quartz Scheduler和Timer两者存在一个方便的类允许你调用目标对象(类似于通常的MethodInvokingFactoryBeans)上的某个方法。
可以灵活定时调用,bean中的方法。
主要用到 org.springframework.scheduling.quartz.SimpleTriggerBean 类
<bean id="topDailyTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!-- see the example of method invoking job above -->
<property name="jobDetail" ref="jobDetail" />
<!-- 启动后5秒开始 计时 -->
<property name="startDelay" value="5000" />
<!-- repeat every 一个小时 seconds -->
<property name="repeatInterval" value="3600000" />
</bean>
一个任务 指定执行的bean 和对应的方法
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="DailyEntryManager" />
<property name="targetMethod" value="excut" />
<property name="concurrent" value="false" />
</bean>
这个是要执行的bean 声明
<bean id="DailyEntryManager" class="net.bokee.dailymodule.service.DailyEntryManagerImpl">
</bean>
最后不要忘记这个配置
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="topDailyTrigger" />
</list>
</property>
</bean>
说明:org.springframework.scheduling.quartz.SchedulerFactoryBean这是一个spring的工厂bean,在他的triggers属性列表中加入刚才定义的触发器,这里可以定义多个触发器(list嘛)。
下面学习一下 定时表达式
[img]http://fs01.bokee.net/userfilespace/2007/04/13/hqmank426505.jpg[/img]
[img]http://fs01.bokee.net/userfilespace/2007/04/13/hqmank426511.jpg[/img]