2017-12-05 1 views
1

私はmap listener with predicatesをdocsのように使ってみます。述語を含む地図エントリを聴くことはできません

私は.net 3.9クライアントを使用しており、Java(Hazelcast 3.9)コードも設定しました。しかし、私のリスナーは発砲しません。古い値は、述語が一致しない場合は、新しい値の一致が

が文書に書き込みを述語

myTestMap.AddEntryListener(new EntryAdapter<string,MyTestMap> { Added = e => ValidateData(e) },new SqlPredicate("Status=2"),true); 

。しかし、イベントの火災には述語が含まれていません。

更新:私はバージョン3.9.1を更新し、EntryAddedListenerを試してみます。 私はコードを更新します。

myTestMap.AddEntryListener(new TestListener(),new SqlPredicate("Status=2"),true); 
public class TestListener: EntryAddedListener<string,MyTestMap> { 
    public void EntryAdded(EntryEvent<string,MyTestMap> @event) { 
     ValidateData(@event); 
    } 
} 

今回は、私が取得:

アプリがブレーク状態に入ったが、すべてのスレッドが外部コード(通常はシステムまたはフレームワークコード)を実行していたので、表示するコードはありません。

更新2: [OK]をクリックして問題を見つけて解決してください。

ClientMapProxy.AddEntryListener(MapListener listener,..... 

メソッドに再帰呼び出しがあるため、以前の例外が発生します。

答えて

0

あなたは使用方法が正確であり、動作することが期待されています。私たちのGithubリポジトリを見ると、あなたはすでにそれが本当にバグだと思っており、それを報告してくれたことが分かります(https://github.com/hazelcast/hazelcast-csharp-client/issues/145)。

同じ問題を抱えている他の人のために、私たちはそれを修正することを検討しています。上記の問題を参照してください。

レポートとその掘り下げに感謝します。

関連する問題