Ich versuche, eine spezielle Funktion (Subskriptionsdienst) mit Hazelcast zu entwickeln. Das Abonnement würde eine bestimmte Map basierend auf einem Prädikat anhören. Dies kann relativ einfach mit einem entryListener erreicht werden. So weit, ist es gut.Hazelcast EntryListener, wie kann man den Rennzustand vermeiden?
Allerdings ist der Cache nicht leer, wenn ich den EventListener (und ständig zu konstanten Updates erhalten). Wenn Sie einen EventListener zu einem Cache mit Ganzzahlen hinzufügen, werden Sie nicht über die aktuellen Einträge im Cache informiert.
Ich könnte map.values () aufrufen, aber dies bietet keine wirkliche Lösung, da das Hinzufügen des eventListener und der Aufruf von map.values (...) nicht atomaren Einträgen könnten verpasst werden.
die Reihe von Ereignissen wäre
- hinzufügen eventlistener Ideal mit Prädikat
- alle Einträge im Cache erhalten, die
- Dann erhalten Updates, die Prädikat übereinstimmen/entfernt/fügt wie die Ereignisse auftreten (Matching das ursprüngliche Prädikat).
Alle Vorschläge willkommen.
Ich denke, Sie könnten hier richtig sein. Ich habe keine Unternehmenslizenz, ich frage mich, ob man dieses Ergebnis mit Einstiegsprozessoren und Filtern erreichen könnte. – Rich