我正在使用 spring 调度程序。这工作正常,但是当我每次需要重新启动 tomcat 服务器时更改 application.properties 中的 cron.expression 值。有什么方法可以使它动态化,就像自动更改会反射(reflect)出来一样?我也用谷歌搜索,但没有为我的应用找到任何解决方案。我给出的代码片段如下:
应用程序属性
cron.expression=0 58 23 * * ?
@Scheduled(cron = "${cron.expression}", zone = "IST")
public void sendEmail() throws Exception {
}
最佳答案
如果你在 spring-cloud 上工作,这是一件容易的事。 Spring 有一个名为“spring cloud config”的项目,它可以帮助您实现属性的外部化,并且只要有更改,该更改就会推送到您的服务。看看setting up spring cloud config
您可能会找到许多相同的样本。如果您正在寻找代码,请告诉我。
关于java - 如何在不重启 tomcat 服务器的情况下从属性文件更改 spring scheduler 的 cron 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970319/