Hi,
You can use Events:https://apacheignite.readme.io/docs/events
In Particular: EVT_CACHE_OBJECT_READ
see:
https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/events/EventsExample.java
Here is an example: (modified localListen() fn in the above example)
private static void localListen() throws IgniteException,
InterruptedException {
System.out.println(">>> Local event listener example.");
Ignite ignite = Ignition.ignite();
IgnitePredicate<CacheEvent> lsnr = evt -> {
System.out.println("Received task event [evt=" + evt.name() + ",
keyName=" + evt.key() + ']');
return true; // Return true to continue listening.
};
ignite.events().localListen(lsnr, EVT_CACHE_OBJECT_READ);
ignite.getOrCreateCache("test").put("a", "a");
ignite.getOrCreateCache("test").put("b", "b");
for (int i = 0; i < 100 ; i++) {
if(i %2 ==0 ) ignite.getOrCreateCache("test").get("a");
else ignite.getOrCreateCache("test").get("b");
Thread.sleep(1000);
System.out.println("sleeping..");
}
// Unsubscribe local task event listener.
ignite.events().stopLocalListen(lsnr);
}
You can also use continuous queries to listen for updates:
https://apacheignite.readme.io/docs/continuous-queries for updates/inserts
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/