おはよう、
私たちのサービスは、データベースの現在の状態と定期的に同期するキャッシュを使用します。ただし、何らかの理由でサービスが再開された場合、定期的なタスクがまだスケジュールされていないため、更新頻度の低いキャッシュの一部がまだデータのコピーを受け取っていないという問題があります。より多くのダウンタイムがあります。キャッシュに見つからない場合にデータベースから値を取得するファンクターを渡す変更されたゲッター インターフェイスを追加することを考えています。この問題は C++ のバックグラウンドから来ています。これを行うための正しい Java の方法についてフィードバックが必要です。
このようなインターフェースを追加することを考えていました。
V getOrGenerateForKey(final Key k, final Function<Key, V> foo)
アイデアをより適切に捉えたり、よりクリーンなソリューションを提供したりする他の Java クラスはありますか?
ありがとう、サブラマニアン