在Spring中使用Quartz

一、創建Quartz的作業bean,有兩個方法

        1、利用JobDetailBean包裝QuartzJobBean的子類的實例,該類必須繼承QuartzJobBean類

        2、利用MethodInvokingJobDetailFactoryBean工廠Bean包裝普通Java對象,無需繼承任何父類,需要制定2個屬性:targetObject和targetMethod

二、使用SimpleTriggerBean或CronTriggerBean定義觸發器

三、使用ScheduleFactoryBean調度作業。

例如用第二種方法:

<!--   配置調用的spring的定時任務    -->

<!--配置作業bean-->

<bean id="dealBillTask" class="com.pactera.util.CleanRequireAttch"></bean>

 

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

 <property name="targetObject">
   <ref bean="dealBillTask" />
  </property>

  <property name="targetMethod">
   <value>dealBillTask中的方法</value>
  </property>
 </bean>

 

 <bean id="dealBillTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <!-- see the example of method invoking job above -->
   <ref bean="dealBillJobDetail" />
  </property>
  <property name="cronExpression">
  <!-- 代表 每月2號 23點執行一次  -->
   <value>0 0 23 2 * ?</value>
   <!-- 測試可用  每天13時執行 每5分鐘執行一次 (0/5)
    <value>0 0/5 13 * * ?</value> -->
   </property>
 </bean>

<!--  配置應用的定時機制  -->
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
    <ref local="dealBillTrigger" />
   </list>
  </property>
 </bean>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章