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