私は、フォルダ内に保存されているすべてのプロパティファイルにアクセスする必要があるSpringアプリケーションを作成しています。私はReloadingCombinedConfigurationBuilderアプローチを試みましたが、設定は一度しか更新されず、それ以降のファイル変更は表示されません。ここで私が使用していたコードされていますReloadingCombinedConfigurationBuilderが1回のリロード後にリロードされない
ReloadingCombinedConfigurationBuilder combinedBuilder = new ReloadingCombinedConfigurationBuilder()
.configure(params.fileBased().setFile(new File("configuration.xml")));
は、ここに私のconfiguration.xmlのです:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<properties fileName="{absolute-path}/a.properties" config-reload="true" reloadingRefreshDelay="10000"/>
<properties fileName="{absolute-path}/b.properties" config-reload="true"/>
</configuration>
その後、私はプログラム的にいくつかのプロパティの設定を追加します。 Configurationをプログラムで追加しない場合、combinedBuilder.getReloadingController()は、triggerを設定しているときにnullを返します。
Configuration config = builder.getConfiguration();
combinedBuilder.getConfiguration().addConfiguration(myFileBasedConfigurationBuilderconfig.getConfiguration());
、トリガーを起動します。
PeriodicReloadingTrigger trigger = new PeriodicReloadingTrigger(
combinedBuilder.getReloadingController(), null, 5, TimeUnit.SECONDS);
trigger.start();
私はそれを実行してプロパティを変更すると変更が一度&反映されているファイルを、それが変更された値を提供を停止します。
提案は大歓迎です。