2016-06-28 6 views
0

私はHazelcastを使用して特定の機能(サブスクリプションサービス)を開発しようとしています。サブスクリプションは、述語に基づいて特定のMapをリッスンします。これは、entryListenerを使用すると簡単に実現できます。ここまでは順調ですね。Hazelcast EntryListener、競合状態を回避する方法は?

しかし、私はeventListenerを追加しても(常に一定の更新を受け取るために)キャッシュは空ではありません。エンティティを持つキャッシュにeventListenerを追加すると、キャッシュ内の現在のエントリについて通知されません。

eventListenerの追加とmap.values(...)への呼び出しがではないため、アトミックエントリが欠落する可能性があるため、map.values()を呼び出すことはできませんでした。

は、理想的には一連のイベントが

  1. が次に更新を受け取ること述語に一致するキャッシュ内のすべてのエントリを受信述語でのEventListenerの追加だろう/ /イベントが発生すると追加、削除(マッチング最初の述語)。

歓迎されます。

答えて

0

エンタープライズ機能ですが、 continuous-query-cacheが好きなようです。 pre-population部分をご覧ください。事前投入は、提供された述語に従ってスナップショットを取得することによって、キャッシュを基礎となるimapから満たすのに役立ちます。また、いくつかのサンプルを見つけることができますhere

+0

ここにいると思います。私はエンタープライズライセンスを持っていないので、エントリープロセッサーとフィルターでこの結果を達成できるかどうか疑問に思います。 – Rich

関連する問題