12.4. Listener Configurations

Hazelcast provides various event listener extensions to receive specific event types. These are

These listeners can be added to and removed from related object using Hazelcast API. Such as

MembershipListener listener = new MyMembershipListener();
hazelcastInstance.getCluster().addMembershipListener(listener);
hazelcastInstance.getCluster().removeMembershipListener(listener);

EntryListener listener = new MyEntryListener();
IMap map = hazelcastInstance.getMap("default");
map.addEntryListener(listener, true);
map.removeEntryListener(listener);

ItemListener listener = new MyItemListener();
IQueue queue = hazelcastInstance.getQueue("default");
queue.addItemListener(listener, true);
queue.removeItemListener(listener);

Downside of attaching listeners using API is possibility of missing events between creation of object and registering listener. To overcome this race condition Hazelcast introduces registration of listeners in configuration. Listeners can be registered using either Hazelcast XML configuration, Config API or Spring configuration.