Spring觸發器配置Quartz


參考文獻:http://blog.csdn.net/liaq325/article/details/8269439

http://sundoctor.iteye.com/blog/441951

業務類

 public class OpenVirtualService {
            public void open(){ //虛機開通
               //業務邏輯
            }
      }

 

第一步,在Spring配置文件中增加本業務類

      <bean id="openVirtualService" class="com.stone.product.virtual.service.OpenVirtualService"/>

      第二步,定義任務。在Spring配置文件中配置代理類MethodInvokingJobDetailFactoryBean,定義任務的詳細信息。

      <bean id="openVirtualTask" class= "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
         <property name="targetObject" ref = "openVirtualService" />
         <property name="targetMethod" value ="open" />
         <property name="concurrent" value =" false " />
      </bean>

      這個配置告訴Spring,我們的任務是執行id為businessReport的bean中的perform函數。其中參數concurrent告訴Spring,不要並發運行

這個任務。

      第三步,配置一個觸發器。在Spring配置文件中配置觸發器類CronTriggerBean 。

      <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
          <property name="jobDetail" ref="openVirtualTask" />
         <property name="cronExpression" value="0 0 1 1 * ?" />
      </bean>

 

 第四步,配置一個調度器。在Spring配置文件中配置調度器類SchedulerFactoryBean。

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

     該調度器用於管理觸發器。只有在調度器中列表出現的觸發器才被Quartz系統調度執行。至此,所有的配置已完成,任務已能正常跑了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM