JBoss Infinispan ディスカッションから投稿されたクロス
Infinispan キャッシュの 1 つでエントリが作成されるたびにアクションを実行するコードを実装しようとしています。@CacheEntryCreated メソッドに渡された CacheEntryCreatedEvent オブジェクトに、新しく作成されたエントリが含まれていないことがすぐにわかったので、解決策を探しました。
@CacheEntryCreated イベントの後に配信される @CacheEntryModified イベントをキャッチし、 isPre()=false のときにオブジェクトを取得するという解決策の問題について、さまざまな議論を見つけました。ただし、すべての議論で、作成ではなく既存のエントリの正当な変更を表す変更イベントがある状況に対処していないため、何かを見逃したと思います。
これは、@Listener オブジェクトがイベントの配信間で状態情報を維持する必要があるということですか? 私の @CacheEntryModified は、イベント オブジェクトを統合し、作成イベント (つまり、getValue() == null && isPre() == true) を決定し、次の @CacheEntryModified イベントを待ってから、新しく作成されたオブジェクトを取得する必要がありますか?
これは、2 番目の @CacheEntryModified (つまり、isPre() == false) イベントが配信される前に、別の @Listener オブジェクトが変更を拒否した場合にどうするかという明らかな問題を提起します。
他の人々はこの状況をどのように処理しますか?