springboot中如何做一个开关,启用和停用quartz
使用Spring Boot 2.x 做了一个后台管理系统,集成了Quartz功能,但有些工程需要用到定时任务,有些工程不会用到定时任务,有没有办法做一个设置,能够在用不到定时任务的工程中停用quartz,这样最起码不用创建quartz数据库,减少一定的施工难度
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
早就有了:https://gitee.com/52itstyle/spring-boot-quartz
基于spring-boot+quartz的CRUD动态任务管理系统,适用于中小项目。
基于spring-boot 2.x +quartz 的CRUD任务管理系统:https://gitee.com/52itstyle/spring-boot-task
这个开关是如果是写在配置文件中,那修改一次就需要重启一次吧
引用来自“凉茶未凉”的评论
@ConditionalOnProperty(value = "backsys.useQuartz", havingValue = "true", matchIfMissing = false)
value改成name试试
@ConditionalOnProperty(value = "backsys.useQuartz", havingValue = "true", matchIfMissing = false)
value改成name试试
这个知道,关键是不知道应该写在哪个地方 我已经QuartzConfig类上使用了,但好像没有起作用,quartz相关对象还是会启动
回复
@罗树鹏 : 贴代码,配置文件,你这样子说没人知道什么问题的
回复
代码已经贴上来了,请赐教
了解下@ConditionalOnProperty
没搞过,但应该可以这样:你可以将Quartz的引用在pom.xml中的scope写成optional,然后自己实现一个autoconfigure,当发现当前工程有quartz的包时才对quartz的相关Bean进行声明
集成springcloud配置中心,修改配置可以实时生效