Changes to the map on one cluster will trigger AddValue
or RemoveValue
events in eventbus. Stanzas sent between clusters will look something like this:
<ElementAdd xmlns="tigase:clustered:map"> <uid>1-2-3</uid> <item> <key>xKEY</key> <value>xVALUE</value> </item> <item> <key>yKEY</key> <value>yVALUE</value> </item> </ElementAdd>
Code to handle adding an item:
eventBus.addHandler(ElementAdd, tigase:clustered:map, new EventHandler() { @Override public void onEvent(String name, String xmlns, Element event) { });
Where the element 'event' is the UID, and the name string is the name of the map key/value pair.
This example removes an element from the cluster map. Removal of items look similar:
<ElementRemove xmlns="tigase:clustered:map"> <uid>1-2-3</uid> <item> <key>xKEY</key> <value>xVALUE</value> </item> </ElementRemove>
with the code also being similar:
eventBus.addHandler(ElementRemove, tigase:clustered:map, new EventHandler() { @Override public void onEvent(String name, String xmlns, Element name) { });