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