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

时间:2019-05-22 06:00:20

标签: java spring spring-boot

我有一个仅将心跳信息发送到mongodb的应用程序(这里称为Start-Common),它使用@ConditionalOnProperty@ConditionalOnClass来获取心跳信息和MongoTemplate。

@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中设置config并准备MongoDB依赖性,以便一旦启动,它将通过Start-Common将心跳信息发送到mongodb

现在,我想在application.properties中添加一个配置参数,该参数取决于某些if-else检查。

如何添加它,还可以使Start-Common接收此配置参数?

非常感谢!~~~

1 个答案:

答案 0 :(得分:0)

您可以在Spring配置中使用 FileChangedReloadingStrategy

这是一个例子:

Link