springboot @ConfigurationProperties列表重新加载不起作用

时间:2020-10-03 07:24:14

标签: java list spring-boot configuration

我有一个问题,当此配置更改时,我使用@ConfigurationProperties配置,但配置对象未更改。 配置是列表。如果添加配置,则列表会更改,但如果删除配置,则列表不会更改。

db.submissions.aggregate([
  {
    $group: {
      _id: "$bookingId",
      status: { $addToSet: "$status" }
    }
  },
  { $match: { status: { $nin: ["READY", "ERROR", "PROCESSING"] } } },
  {
    $group: {
      _id: null,
      bookingIds: { $push: "$_id" }
    }
  }
])

我这样自己实现监听器:


@ConfigurationProperties(prefix = "zzzz.kafka")

public class ToadDynamicProps {

    private List<String> bootstrapServers;

    public ToadDynamicProps() {
        System.out.println(bootstrapServers + " ===============");
    }

    public List<String> getBootstrapServers() {
        return bootstrapServers;
    }

    public void setBootstrapServers(List<String> bootstrapServers) {
        this.bootstrapServers = bootstrapServers;
    }
}

1 个答案:

答案 0 :(得分:0)

确保类(ToadDynamicProps)应当带有@Configuration注释,或者您需要在主Spring应用程序类中提供@EnableConfigurationProperties(ToadDynamicProps.class)才能将属性绑定到POJO。

确保属性文件中的属性和具有给定前缀的类具有正确的绑定。

在更改类文件和属性文件时,请确保它们已正确编译。

让您的类实现可序列化(如果需要)。

让我知道您在验证之后是否仍然遇到问题。