Configuration オブジェクトを Spring @Bean として公開するときに、Commons Configuration v1 のリロード機能を追加のコーディングなしで使用してきました。これは、構成にアクセスするたびにリロード チェックが実行されるためです。
現在、Commons Configuration v2 に移行しようとしていますが、リロードはビルダーによって作成された新しい構成オブジェクトでのみ有効であることを読みました。
言い換えれば、v1では次のようなことができます
@Bean
public Configuration config() {
...
return builder.getConfiguration();
}
次に、構成を注入します
@Autowired Configuration config;
そして、(必要に応じて)リロードすることを期待します
config.getString("somepath");
今、私は電話する必要があります
builder.getConfiguration()
新しい構成が必要になるたびにもう一度。
では、どうすればいいのでしょうか?多くの @Controllers に既に注入されている @Bean を「リフレッシュ」するのに、Spring の何かが役立ちますか? 自動である必要はありません。管理コンソールに「リロード」ボタンを実装して、それをトリガーすることができます。