0

我有一个属性类如下:

@Component
@ConfigurationProperties(prefix = "gateway")
public class GatewayConfigurationProperties {

    private Map<String, String> publisherMessageProperties;

    public Map<String, String> getPublisherMessageProperties() {
        return publisherMessageProperties;
    }

    public void setPublisherMessageProperties(Map<String, String> publisherMessageProperties) {
        this.publisherMessageProperties = publisherMessageProperties;
    }

}

我正在使用构造函数注入将上述组件连接到另一个 @component 类中。

@Component
public class EventListener {

private GatewayConfigurationProperties gatewayProperties;

public EventListener(GatewayConfigurationProperties gatewayProperties) {
    this.gatewayProperties = gatewayProperties;
}
public void onMessage(Message message) {

   System.out.println(gatewayProperties.getPublisherMessageProperties());
}

该应用程序是一个配置客户端,其属性也存储在 gitlab 中。GatewayConfigurationProperties 中的属性值在 gitlab 中更改,我正在调用执行器的 /actuator/refresh 端点。我可以在日志中看到端点调用,但是 gitlab 中属性的更改没有反映出来。在 @component 类或属性类上是否还有其他事情要做才能进行刷新。当我阅读文档时,我可以看到用 @ConfigurationProperties 注释的类将用执行器刷新,但不知何故对我来说并没有发生

4

0 回答 0