@Cacheable
キャッシュミスが発生した場合に、キャッシュ可能メソッドが1回実行されてキャッシュにデータが入力されるまで、キャッシュ可能メソッドへの呼び出しがブロックされるようにSpringを構成できますか?
私の場合、データベースからのデータを扱っていますが、実際にはこのデータが変更された場合、アプリを再起動する必要があります。各サービスの起動時にメソッドを作成してデータを初期化することはできますが、アノテーション@PostConstruct
ほど「エレガント」ではないようです。@Cacheable
@Cacheable
SpringアノテーションでEhCacheを使用することを計画しています。
アップデート:
他の誰かがそれらの問題に遭遇した場合に備えて、@PostConstructを使おうとして私が遭遇したいくつかの問題があります。@PostConstruct
メソッドは@Transactional
、Springコンテキスト全体が構成された後ではなく、オブジェクトのプロパティが設定された後に実行されるため、実行できません。したがって、TXマネージャがすべてセットアップされ、time@PostConstruct
メソッドが呼び出されて構成されているとは限りません。これの回避策は、を実装しApplicationListener
、TransactionTemplateを手動で挿入することです...など、を使用することで簡略化される多くの追加作業@Cacheable
。