package com.test; import java.util.Date; import java.util.concurrent.TimeUnit; import com.hazelcast.client.HazelcastClient; import com.hazelcast.client.config.ClientConfig; import com.hazelcast.client.config.ClientNetworkConfig; import com.hazelcast.config.Config; import com.hazelcast.config.MapConfig; import com.hazelcast.config.SSLConfig; import com.hazelcast.core.EntryEvent; import com.hazelcast.core.Hazelcast; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.IMap; import com.hazelcast.core.MapEvent; import com.hazelcast.map.listener.*; public class Listen { public static void main( String[] args ) { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); IMap map = hz.getMap( "somemap" ); map.addEntryListener( new MyEntryListener(), true ); System.out.println( new Date()+" EntryListener registered" ); long nanotime=System.nanoTime(); String key = "" + nanotime; String value = "1"; map.setTtl(key, 60, TimeUnit.SECONDS); map.put( key, value ); ClientConfig clientConfig = new ClientConfig(); clientConfig.setProperty("hazelcast.client.max.concurrent.invocations", "5"); ClientNetworkConfig networkConfig = clientConfig.getNetworkConfig(); networkConfig.setSSLConfig(new SSLConfig().setEnabled(false)); networkConfig.addAddress("0.0.0.0", "0.0.0.0"); networkConfig.setSmartRouting(true); networkConfig.setConnectionTimeout(10000); networkConfig.setRedoOperation(true); ; IMap map1 = HazelcastClient.newHazelcastClient(clientConfig).getMap("somemap"); map.setTtl(key, 60, TimeUnit.SECONDS); map1.addEntryListener(new MyEntryListener(), true); } static class MyEntryListener implements EntryAddedListener, EntryRemovedListener, EntryUpdatedListener, EntryEvictedListener, EntryLoadedListener, MapEvictedListener, MapClearedListener { public void mapCleared(MapEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Map cleared :" + event ); } public void mapEvicted(MapEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Map evicted :" + event ); } public void entryLoaded(EntryEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Entry loaded :" + event ); } public void entryEvicted(EntryEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Entry evicted :" + event ); } public void entryUpdated(EntryEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Entry updated :" + event ); } public void entryRemoved(EntryEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Entry removed :" + event ); } public void entryAdded(EntryEvent event) { // TODO Auto-generated method stub System.out.println( new Date() + " Entry Added:" + event ); } } } Wed Nov 02 16:28:14 IST 2022 EntryListener registered Wed Nov 02 16:28:14 IST 2022 Entry Added:EntryEvent{entryEventType=ADDED, member=Member [10.126.208.42]:5701 - 6b67cc6b-0db0-4444-b19e-b8563d9f0ff5 this, name='somemap', key=1228800085698400, oldValue=null, value=1, mergingValue=null} Wed Nov 02 16:29:14 IST 2022 Entry evicted :EntryEvent{entryEventType=EVICTED, member=Member [10.126.208.42]:5701 - 6b67cc6b-0db0-4444-b19e-b8563d9f0ff5 this, name='somemap', key=1228800085698400, oldValue=1, value=null, mergingValue=null} Wed Nov 02 16:29:14 IST 2022 Entry evicted :EntryEvent{entryEventType=EVICTED, member=Member [10.126.208.42]:5701 - 6b67cc6b-0db0-4444-b19e-b8563d9f0ff5, name='somemap', key=1228800085698400, oldValue=1, value=null, mergingValue=null}