1. 程式人生 > >java中定時JOB的實現方式

java中定時JOB的實現方式

23.2.3. 使用triggers和SchedulerFactoryBean來包裝任務

我們已經建立了job details,jobs。我們同時回顧了允許你呼叫特定物件上某一個方法的便捷的bean。 當然我們仍需要排程這些jobs。這需要使用triggers和SchedulerFactoryBean來完成。 Quartz自帶一些可供使用的triggers。Spring提供兩個子類triggers,分別為CronTriggerBeanSimpleTriggerBean

Triggers也需要被排程。Spring提供SchedulerFactoryBean來暴露一些屬性來設定triggers。SchedulerFactoryBean

負責排程那些實際的triggers。

幾個例子:

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">     <!-- see the example of method invoking job above -->     <property name="jobDetail" ref="jobDetail" />     <!-- 10 seconds -->     <property name="startDelay" value="10000" />     <!-- repeat every 50 seconds -->     <property name="repeatInterval" value="50000" /></bean><bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">     <property name="jobDetail" ref="exampleJob" />     <!-- run every morning at 6 AM -->     <property name="cronExpression" value="0 0 6 * * ?" /></bean>

現在我們建立了兩個triggers,其中一個開始延遲10秒以後每50秒執行一次,另一個每天早上6點鐘執行。 我們需要建立一個SchedulerFactoryBean來最終實現上述的一切:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">     <property name="triggers">         <list>             <ref bean="cronTrigger" />             <ref bean="simpleTrigger" />         </list>     </property></bean>