java - Apache ignite 缓存事件的单个缓存(映射)事件注册

标签 java events caching ignite

我正在寻找一种用ignite注册单个缓存的缓存事件的方法。

可以用此代码注册ignite envorment的所有put事件;

        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);

但由于性能原因,我只想为特定 map (缓存)注册缓存事件。否则,我将不得不检查每个事件的缓存名称,这可能会导致系统负载大量且事务量巨大。

感谢您的帮助和指导。

最佳答案

如果你想监听数据更新,连续查询是更好的选择:https://apacheignite.readme.io/docs/continuous-queries

此功能在每个缓存级别上工作,支持正确的事件排序并保证拓扑更改时的交付。

关于java - Apache ignite 缓存事件的单个缓存(映射)事件注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35676028/

相关文章:

java - 使用Java绘图: Applying Borders/Outlines to Shapes

Java JDBC : MySQL write Out of Memory

java - Java 中非最终对象同步的正确方法

PHP Redis (yii2-redis) 使用 MSET 命令设置过期时间

.net - 命名空间 Microsoft.Extensions 中不存在缓存

java - 保护 Thrift 服务器免受 POODLE SSL 漏洞的攻击

reactjs - 如何修复 "[ts] Property ' getAttribute' 在类型 'EventTarget' 上不存在“

javascript - 浏览器启动时的 Chrome 扩展操作

jquery - 在 jquery 选择器路径中添加异常的最佳方法

caching - 缓存未命中总数少于数据缓存未命中次数 (PAPI_L1_DCM > PAPI_L1_TCM)