私の Wicket アプリケーションでは、テキスト リソースに StringResourceLoaders を使用しています。テキストのキーと値は、プロパティ ファイルとデータベースから読み込まれます。
テキスト リソースを格納および取得するためのサービス クラスを作成しました。ここには、テキスト リソースを 15 分ごとに更新するスケジュールされたタスクもあります。
このタスクを実行するときは、まずテキスト リソースを更新し、その後リソース キャッシュをクリアして、Wicket が更新されたテキストを使用できるようにします。
私の問題は、キャッシュがクリアされていないことです。これが私がそれをやろうとする方法です...
@Scheduled(fixedDelay=15*60*1000) // 15 minutes
private void taskUpdateTextResources() {
updateTextResources();
Application.get().getResourceSettings().getPropertiesFactory().clearCache();
}
これは明らかにリソースをクリアする正しい方法ではありませんが、どうすればよいでしょうか?