1
我正在尋找一種方法來註冊單個緩存的緩存事件與點燃。Apache點燃緩存事件的單個緩存(地圖)事件註冊
可以使用此代碼註冊點燃環境的所有放置事件;
IgniteBiPredicate<UUID, CacheEvent> lsnr = new IgniteBiPredicate<UUID, CacheEvent>() {
@Override public boolean apply(UUID uuid, CacheEvent evt) {
System.out.println("Received event [evt=" + evt.name() + ", key=" + evt.key() +
", oldVal=" + evt.oldValue() + ", newVal=" + evt.newValue());
return true; // Continue listening.
}
};
ignite.events().localListen(lsnr, EventType.EVT_CACHE_OBJECT_PUT);
但我想只註冊特定地圖(緩存)的緩存事件,因爲性能的原因。否則,我將不得不爲每個事件檢查緩存名稱,這可能會導致大量事務處理系統的巨大負載。
感謝您的任何幫助和指導。
感謝您的提示。如果我說,我只想聽本地更新,可以連續查詢。 –
也可以通過連續查詢方式捕獲移除事件。謝謝 –
要只聽本地事件,使用'ContinuousQuery.setLocal(true)'標誌。 –