SpringBoot集成Quartz

一、引入依赖

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

二、示例任务

java 复制代码
import lombok.extern.slf4j.Slf4j;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

import java.util.Date;

@Slf4j
public class DemoJob extends QuartzJobBean {

    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        context.getJobDetail().getJobDataMap().forEach(
                (k, v) -> log.info("param, key:{}, value:{}", k, v)
        );
        log.info("执行时间: " + new Date());
    }
    
}

三、配置

java 复制代码
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class QuartzConfig {

    @Bean("demoJob")
    public JobDetail helloJobDetail() {
        return JobBuilder.newJob(DemoJob.class)
                .withIdentity("demoJob")
                .usingJobData("msg", "Hello Quartz")
                .storeDurably()
                .build();
    }

    @Bean
    public Trigger printTimeJobTrigger() {
        // 每秒执行一次
        CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/1 * * * * ?");
        return TriggerBuilder.newTrigger()
                .forJob(helloJobDetail())
                .withIdentity("quartzTaskService")
                .withSchedule(cronScheduleBuilder)
                .build();
    }
}
相关推荐
王ASC2 分钟前
Java不重启加载新的class文件
java·开发语言
靠沿2 分钟前
【优选算法】专题十七——多源BFS(最短路径问题)
java·算法·宽度优先
沐硕2 分钟前
校园招聘系统
spring boot·vue·校园招聘
小江的记录本6 分钟前
【HashMap】HashMap 系统性知识体系全解(附《HashMap 面试八股文精简版》)
java·前端·后端·容器·面试·hash·哈希
yuuki2332336 分钟前
【Linux】Linux基本指令 & 权限全解析
java·linux·服务器
⑩-8 分钟前
Kafka 架构和工作原理?Kafka 如何保证高可用?
java·分布式·架构·kafka
indexsunny11 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务与Kafka的深度探讨
java·spring boot·junit·kafka·mybatis·hibernate·microservices
愿^O^~13 分钟前
VSCode 启动 Spring Boot 微服务 JMX 端口冲突问题
spring boot·vscode·微服务
星辰_mya17 分钟前
三级缓存破局:Spring 如何优雅解决循环依赖?
java·spring·缓存·面试
BUG胡汉三18 分钟前
Java内网代理访问HTTPS接口SSL证书不匹配
java·https·ssl