java - 如何在不重启 tomcat 服务器的情况下从属性文件更改 spring scheduler 的 cron 表达式?

标签 java spring-mvc tomcat8 spring-scheduled

我正在使用 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/

相关文章:

java.sql.SQLException : No suitable driver, com.mysql.jdbc.Driver 异常

java - jvm方法调用历史跟踪

java - 在 Java 中第一次匹配之前使用正则表达式的子字符串

java - 有一个请求对象作为方法签名参数,它构成了所有需要的参数

macos - Tomcat 8.0 无法在 Mac 上运行

java - connectionTimeout 和 keepAliveTimeout 之间的 Tomcat 连接器关系

java - 注释如何访问参数信息?

Spring Web 项目多模块

javascript - org.thymeleaf.exceptions.TemplateInputException : Exception parsing document: template ="result", 第 28 行 - 第 23 列

java - 为什么我在POST请求中收到不允许的HTTP 405方法?