Java Spring quartz 定時任務
一、技術實現
1.1 配置 spring 環境
spring 配置 略
定時任務相關 jar 包
<!-- quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework.version}</version>
</dependency>
1.2 applicationContext 配置
<!--啓用spring的一些annotation -->
<context:annotation-config/>
<!--定時任務1 配置任務bean類 -->
<bean name="job1" class="com.timedtask.TimedTask"/>
<bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="job1"/>
</property>
<property name="targetMethod">
<!-- 要執行的方法名稱 -->
<value>task1</value>
</property>
</bean>
<!--調度觸發器-->
<bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SpringQtzJobMethod"></property>
<property name="cronExpression" value="0/5 * * * * ?"></property>
</bean>
<!--定時任務2-->
<bean id="SpringQtzJobMethod2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="job1"/>
</property>
<property name="targetMethod">
<!-- 要執行的方法名稱 -->
<value>task2</value>
</property>
</bean>
<!--調度觸發器-->
<bean id="CronTriggerBean2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SpringQtzJobMethod2"></property>
<property name="cronExpression" value="0/5 * * * * ?"></property>
</bean>
<!--調度工廠-->
<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="CronTriggerBean"/>
<ref bean="CronTriggerBean2"/>
</list>
</property>
</bean>
1.3 定時任務類
/**
* 定時任務
*
* @author zt1994 2019/8/22 21:55
*/
public class TimedTask {
/**
* 定時任務1
*/
public void task1() {
System.out.println("task1");
}
/**
* 定時任務2
*/
public void task2() {
System.out.println("task2");
}
}
二、測試定時任務
啓動項目,測試結果
task1
task2
task1
task2
task1
task2
task1
task2
task1
task2