在spring中使用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"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
//注冊一個調度
<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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!