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