I have some questions regarding Cache Listeners/Events. We have a system that used a lot of "Caffeine" based caches spread across multiple services (in K8S). Basically "near-caches" (without a backing store). We are now trying to fit Ignite behind those usages.
*What we are trying to do is when Ignite /expires/ an entry receive the event on all the nodes and evict it in from Caffeine*. Are one of these approaches below correct? And/or how can I accomplish this? Is there a better/easier way? 1) I tried registering a CacheListener with each cache configuration but that seemed to only fire where the cache event was fired: config.addCacheEntryListenerConfiguration(new IgniteExpiredListener<>(cacheManagerProvider)); 2) I am experimenting with cache events as well like this below. ig.events( ig.cluster().forServers()) .remoteListen( new IgniteBiPredicate<UUID, CacheEvent>() { @Override public boolean apply(UUID uuid, CacheEvent evt) { log.debug("Received local event " + evt.name() + ", key=" + evt.key() + ", at=" + evt.node().consistentId().toString() + ", " + evt.eventNode().consistentId().toString() ); cm.getCache(evt.cacheName()).evict(evt.key()); return true; // Continue listening. } }, new IgnitePredicate<CacheEvent>() { @Override public boolean apply(final CacheEvent evt) { log.debug("Received remote event " + evt.name() + ", key=" + evt.key() + ", at=" + evt.node().consistentId().toString() + ", " + evt.eventNode().consistentId().toString() ); return true; } }, EVTS_CACHE); ----- KJQ -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/