一、創建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>