spring整合quartz定時任務
阿新 • • 發佈:2018-12-17
1.新增Maven的依賴
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
2.建立類,到時候定時執行這個類中的服務()方法
package com.ishop.base.quartz;
/**
* Created by GanBaby on 2018/10/26
*/
public class TestJobTask{
/**
*業務邏輯處理
*/
public void service(){
/**業務邏輯*/
System.out.println(System.currentTimeMillis());
}
}
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-4.2.xsd"> <!-- 定時任務start --> <!-- 執行緒執行器配置,用於任務註冊 --> <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="testJobTask" class="com.ishop.base.quartz.TestJobTask" /> <!-- 排程業務 --> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="testJobTask" /> <property name="targetMethod" value="service" /> </bean> <!-- 增加呼叫的觸發器,觸發時間 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="jobDetail" /> <property name="cronExpression" value="0/5 * * * * ? *" /> </bean> <!-- 設定排程 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> <property name="taskExecutor" ref="executor" /> </bean> <!-- 定時任務end --> </beans>
*新增完了XML之後記得把這個XML新增進掃描,我的是在web.xml檔案中掃描所有的XML檔案
<!-- 載入spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml</param-value>
</context-param>