在spring中使用quartz的一個小例子

eex2 9年前發布 | 2K 次閱讀 Java Quartz

spring3不支持quartz2

1.業務調度的類(就是你想要做的事情的邏輯部門)
public class QuartzTest {
        public void  quartzTest(){
                System.out.println("I Love You, zhuzhu");
        }
}
2.寫一個job
public class RunJob extends QuartzJobBean{
    private QuartzTest quartztest;

public QuartzTest getQuartztest() {
    return quartztest;
}

public void setQuartztest(QuartzTest quartztest) {
    this.quartztest = quartztest;
}

@Override
protected void executeInternal(JobExecutionContext arg0)
        throws JobExecutionException {

    quartztest.quartzTest();
}

} 3.在xml中配置 <beans xmlns="http://www.springframework.org/schema/beans&quot; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"&gt; //注冊一個調度 <bean id="quartztest" class="quartz.test.manager.QuartzTest" />

<!-- Spring Quartz -->
//配置一個job,注意class中的類
<bean name="quartzJob" class="org.springframework.scheduling.quartz.JobDetailBean">
             //name="jobClass"這個名字不能隨便更改, value值就是寫的job
    <property name="jobClass" value="quartz.test.job.RunJob" />

    <property name="jobDataAsMap">
      <map>//key的值要與job的字段名稱對應, value-ref是你注冊的調度的id名稱
        <entry key="quartztest" value-ref="quartztest" />
      </map>
    </property>

</bean>

<!-- Cron Trigger, run every 5 seconds -->
//配置觸發器,有兩種方式,這是我喜歡的一種方式
<bean id="cronTrigger" 
            class="org.springframework.scheduling.quartz.CronTriggerBean">
             //name="jobDetail"一樣的name的值不可以隨意改變, ref的值是注冊的job的名字
    <property name="jobDetail" ref="quartzJob" />
    //配置的時間規則,每五秒鐘跑一次任務
    <property name="cronExpression" value="0/5 * * * * ?" />

</bean>
             //配置調度工廠
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!--  <property name="jobDetails">
        <list>
            <ref bean="runMeJob" />
        </list>
    </property> -->

         //name的值同樣不要更改,把觸發器的名字配置上
    <property name="triggers">
        <list>
            <ref bean="cronTrigger" />
        </list>
    </property>
</bean>

</beans> 4.測試類 public class QuartzTestRun { public static void main(String [] args){ new ClassPathXmlApplicationContext("Spring-Quartz.xml"); } }</pre>

 本文由用戶 eex2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!