实现quartz定时任务控制是否启动 (生产环境 和 开发环境)

实现quartz定时任务控制是否启动 (生产环境 和 开发环境)隔离配置

最近遇到一个生产环境的数据异常,一看日志,就发现原来我连接正式数据库进行复现bug 的时候,定时任务会单独运行,而且我的定时任务是给第三方系统推送数据。可想而知,问题的严重性。

哈哈,俺在这个项目就增加了定时任务是否启动的配置项

springboot2的项目

实现步骤(可CV)

1、增加quartz的配置类
bash 复制代码
import org.quartz.Scheduler;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;

@Configuration
public class QuartzConfig {

    @Value("${quartz.scheduler.enabled:true}")
    private boolean quartzEnabled;

    @Bean
    public SchedulerFactoryBean schedulerFactoryBean() {
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
        schedulerFactoryBean.setAutoStartup(quartzEnabled);
        return schedulerFactoryBean;
    }

    @Bean
    public Scheduler scheduler(SchedulerFactoryBean schedulerFactoryBean) {
        return schedulerFactoryBean.getScheduler();
    }
}
2、在springboot的application-dev配置

dev

bash 复制代码
quartz:
  scheduler:
    enabled: false

prod

bash 复制代码
quartz:
  scheduler:
    enabled: true
重启项目,看效果

简单吧,好用的话评论区留言"好使"

相关推荐
假女吖☌8 分钟前
限流算法-redis实现与java实现
java·redis·算法
lixin55655617 分钟前
基于迁移学习的图像风格增强器
java·人工智能·pytorch·python·深度学习·语言模型
面汤放盐21 分钟前
企业权限--系统性方案探究
java·开发语言
what丶k24 分钟前
深度解析Redis LRU与LFU算法:区别、实现与选型
java·redis·后端·缓存
悟能不能悟28 分钟前
java Date转换为string
java·开发语言
菜宾35 分钟前
java-redis面试题
java·开发语言·redis
猿小羽42 分钟前
AI 学习与实战系列:Spring AI + MCP 深度实战——构建标准化、可扩展的智能 Agent 系统
java·spring boot·llm·agent·spring ai·mcp·model context protocol
木井巳1 小时前
【递归算法】快速幂解决 pow(x,n)
java·算法·leetcode·深度优先
风景的人生1 小时前
mybatis映射时候的注意点
java·mybatis
墨夶1 小时前
Java冷热钱包:不是所有钱包都叫“双保险“!用户资产安全的终极守护者
java·安全·区块链