Spring配置Quartz例子
1.引入除spring.jar外的Quartz的jar包quartz-all-1.8.6.jar
2.任務類 QuartzJob
public class QuartzJob { public void work1() { System.out.println("Quartz的任務調度!!!work1啟用……"); } public void work2() { System.out.println("Quartz的任務調度!!!work2啟用……"); } }
2.Spring 配置 quartz-config.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> <!-- 線程執行器配置,用于任務注冊 --> <bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10" /> <property name="maxPoolSize" value="100" /> <property name="queueCapacity" value="500" /> </bean> <!-- 要調用的工作類 --> <bean id="quartzJob" class="QuartzJob"></bean> <!--調度業務 : 定義調用對象和調用對象的方法 --> <bean id="jobtask1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 調用的類 --> <property name="targetObject" ref="quartzJob" /> <!-- 調用類中的方法 --> <property name="targetMethod" value="work1" /> </bean> <bean id="jobtask2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 調用的類 --> <property name="targetObject" ref="quartzJob" /> <!-- 調用類中的方法 --> <property name="targetMethod" value="work2" /> </bean> <!-- 定義觸發時間 --> <bean id="doTime1" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="jobtask1" /> <!-- cron表達式 --><!-- 每隔10秒執行一次 --> <property name="cronExpression" value="0/3 * * * * ?" /> </bean> <bean id="doTime2" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="jobtask2" /> <property name="cronExpression" value="0/5 * * * * ?" /> </bean> <!--設置調度 總管理類 如果將lazy-init='false'那么容器啟動就會執行調度程序 --> <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime1" /> <ref bean="doTime2" /> </list> </property> <property name="taskExecutor" ref="executor" /> </bean> </beans>
3.加載 <!-- 加載spring -->
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/quartz-config.xml </param-value> </context-param>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!