springboot整合quarzt定時任務(多任務)
這幾天公司需要寫一個定時任務,以前沒有使用,這兩天通過網上查詢資料,按照要求完成了,所有想分享一下我是如何使用springboot整合quarzt定時任務+xml格式
一、導入maven
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
二、創建任務Job類(自定義類)
自定義執行任務方法:
public void execute(){
system.out.print("------執行任務------")
}
public class DeleteQuartzJob {
@Autowired
TQuartzTeuMapper mapper;
public void deleteInfo(){
//數據庫數據刪除。。。
System.out.println("Job已經工作正在進入處理。。。");
mapper.deleteInfo();
System.out.println("數據刪除完成。。。");
}
}
三、配置XML文件: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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 配置Job類 -->
<bean id="myJob" class="com.portjs.base.util.quartzconfig.SelectQuartzJob"></bean>
<!--添加數據到數據庫任務-->
<!-- 配置JobDetail -->
<bean id="springQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 執行目標job -->
<property name="targetObject" ref="myJob"></property>
<!-- 要執行的方法 -->
<property name="targetMethod" value="execute"></property>
</bean>
<!-- 配置tirgger觸發器 -->
<bean id="cronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- jobDetail -->
<property name="jobDetail" ref="springQtzJobMethod"></property>
<!-- cron表達式,執行時間 每5分鍾執行一次 -->
<property name="cronExpression" value="0 0/5 * * * ? *"></property>
</bean>
<!--定時刪除數據庫數據任務-->
<!-- 配置Job類 -->
<bean id="deleteJob" class="com.portjs.base.util.quartzconfig.DeleteQuartzJob"></bean>
<!-- 配置JobDetail -->
<bean id="springQtzJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 執行目標job -->
<property name="targetObject" ref="deleteJob"></property>
<!-- 要執行的方法 -->
<property name="targetMethod" value="deleteInfo"></property>
</bean>
<!-- 配置tirgger觸發器 -->
<bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- jobDetail -->
<property name="jobDetail" ref="springQtzJob"></property>
<!-- cron表達式,執行時間每天0點執行一次 -->
<!-- 可以根據自己的需求指定執行時間 -->
<property name="cronExpression" value="0 0 0 * * ? *"></property>
</bean>
<!-- 配置調度工廠 -->
<bean id="springJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger1"></ref>
<ref bean="cronTrigger2"></ref>
</list>
</property>
</bean>
</beans>
四、配置Springboot啟動類
在Springboot啟動類上添加注解
@ImportResource("classpath:quartz-config.xml")
到這里就是所有配置