java - 如何动态更改 application.properties 中的参数,以便可以使用新值来触发计划作业

标签 java spring spring-boot

我有一个应用程序(这里我称之为 Start-Common),只向 mongodb 发送心跳信息,它使用 @ConditionalOnProperty 和 @ConditionalOnClass 来获取心跳信息和Mongo模板。

@EnableScheduling
@ConditionalOnProperty(name = {"b2b.fwk2.service.name", "server.port", "server.remark"})
@ConditionalOnClass(value = MongoTemplate.class)
public class HeartbeatScheduler {

    @Autowired
    private MongoTemplate template;

    @Value("${b2b.fwk2.service.name}")
    private String service;

    private volatile String status = "active";

    @Value("${server.port}")
    private int port;

    @Value("${server.remark}")
    private String remark;

我还有另一个应用程序需要依赖 Start-Common,并在 application.properties 中设置配置并准备 MongoDB 依赖项,这样一旦启动,它就会通过 Start-Common 向 mongodb 发送心跳信息

现在我想在 application.properties 中添加一个配置参数,它依赖于一些 if-else 检查。

如何添加它并且可以让Start-Common接收到这个配置参数?

非常感谢!~~~

最佳答案

您可以在 Spring 配置中使用 FileChangedReloadingStrategy

这是一个例子:

Link

关于java - 如何动态更改 application.properties 中的参数,以便可以使用新值来触发计划作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56250217/

相关文章:

java - 如何将分钟添加到 EventdateTime 并转换为 DateTime

java - 如何全面了解 Java 中的流?

java - 如何使用 .htaccess 来加速 Spring 网站为不同类型的文件自定义浏览器缓存

java - 如何并行调用两个返回 DeferredResult<> 的方法?

java - 如何使用 Spring for Kafka 寻找时间戳的偏移量

java - 使用 H2 数据库和 Flyway 进行 Spring Boot 应用程序测试失败

java - Selenium Safari WebDriver 不工作

java - ArrayList 和修改其中包含的对象

java - 使用 Java 客户端实现 Spring Security

java - Feign 无法解析名称