springboot整合quarzt定时任务(多任务)+xml格式

本文介绍如何在SpringBoot项目中使用Quartz实现多任务的定时任务功能。包括Maven依赖配置、自定义Job类、XML配置文件及启动类注解等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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")

到这里就是所有配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值