私はここで説明されているアプローチに従っています: https://github.com/jeroenbellen/blog-manage-and-reload-spring-properties 、唯一の違いは私の場合、プロパティが複数のクラスで使用されるため、それらをすべて1つのユーティリティクラスCloudConfig
に入れ、ゲッターを使用してその変数を参照します。これはクラスがどのように見えるかです:
_@Configuration
@RefreshScope
public class CloudConfig {
static volatile int count; // 20 sec
@Value("${config.count}")
public void setCount(int count) {
this.count = count;
}
public static int getCount() {
return count;
}
}
_
変数count
をCloudConfig.getCount()
のような他のクラスで使用しています。起動時にプロパティをうまくロードできますが、動的に動的に更新することはできません。誰かが私が間違っていることを言うことができますか?この構成クラスを作成する代わりに、チュートリアルがすべてを説明しているとおりにうまく機能する場合、私はそれを自分のユースケースに適合させることに問題があります。誰か私が欠けているものを教えてもらえますか?
この問題に直面している他の人は、次のことを確認してください:
@RefreshScope
の注釈が付けられていますスプリングブートアクチュエータは、実際にこれらのエンドポイントを提供するモジュールであるため、依存関係に追加されます。
org.springframework.boot spring-boot-starter-actuator
更新エンドポイントが次のように更新されました。
http:// {ip_address}:{port}/actuator/refresh
エンドポイントの更新はデフォルトでは有効になっていません。次の行を追加して、bootstrap.propertiesファイルで明示的に有効にする必要があります。
management.endpoints.web.exposure.include=*
すべてのエンドポイントを有効にしましたが、特定のエンドポイントを有効にすることもできます。