Quartz丨整合Spring XML方式
阿新 • • 發佈:2021-10-14
Code
- 座標
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.0.2.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> </dependencies>
- Application.java
public static void main(String[] args) {
new ClassPathXmlApplicationContext("spring-jobs.xml");
}
- spring-jobs.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:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 註冊自定義Job --> <bean id="ClearImageJob" class="com.aivsok.jobs.ClearImageJob"></bean> <!-- 註冊JobDetail,作用是負責通過反射呼叫指定的Job --> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 注入目標物件 --> <property name="targetObject" ref="ClearImageJob"/> <!-- 注入目標方法 --> <property name="targetMethod" value="run"/> </bean> <!-- 註冊一個觸發器,指定任務觸發的時間 --> <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 注入JobDetail --> <property name="jobDetail" ref="jobDetail"/> <!-- 指定觸發的時間,基於Cron表示式 10秒一次 --> <property name="cronExpression"> <value>0/10 * * * * ?</value> </property> </bean> <!-- 註冊一個統一的排程工廠,通過這個排程工廠排程任務 --> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 注入多個觸發器 --> <property name="triggers"> <list> <ref bean="myTrigger"/> <!--<ref bean="1"/>--> <!--<ref bean="2"/>--> </list> </property> </bean> </beans>
- ClearImageJob.java
public class ClearImageJob {
public void run() {
System.out.println("定時任務,走起~~~!" + new Date());
}
}