如何解决根据数据库值在Spring Boot中启用或禁用计划的作业
我需要使用@Scheduled批注在Spring Boot应用程序中使用cron样式的模式安排作业。
在将cron模式存储在配置属性文件中之前,我已经使用过cron作业。但是在这种情况下,当数据库中维护的标志变为true时,我想禁用cron作业。这样的事情我想实现。
或者在达到所需状态时,还有其他方法可以禁用数据库轮询吗?
@Service
@ConditionalOnProperty("yourConditionDBPropery")
public class SchedulingService {
//Run this task when flag in DB is set to true
@Scheduled
public void task1() {...}
@Scheduled
public void task2() {...}
}
解决方法
根据Baeldung的说法,conditional property来自配置,而不是数据库。
我建议这样:
@Service
@ConditionalOnProperty("yourConditionDBPropery")
public class SchedulingService {
//Run this task when flag in DB is set to true
@Scheduled
public void task1() {
if(flag) {
....
}
}
@Scheduled
public void task2() {...}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。