在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>

 

你可能感兴趣的:(java,spring,quartz)