Apache Ignite:在连续查询中设置远程过滤器工厂

Apache Ignite : set remote filter factory on continuous query

大家早上好,

我想知道是否有人可以向我解释远程过滤器在连续查询中的具体工作原理。

我可以定义一个HashSet来过滤缓存Key吗?有人可以为我提供一个很好的例子来澄清我的疑问吗? 这是我的代码不起作用,其中 Filter 是一个 HashSet。我认为执行后的server节点死锁了

          qry.setRemoteFilterFactory(new Factory<CacheEntryEventFilter<String, JSONObject>>() {
                @Override public CacheEntryEventFilter<String, JSONObject> create() {
                    return new CacheEntryEventFilter<String, JSONObject>() {
                        @Override public boolean evaluate(CacheEntryEvent<? extends String, ? extends JSONObject> e) {

                            return Filter.contains(e.getKey());
                        }
                    };
                }
            });

提前谢谢大家。

不清楚您从哪里获取地图,以及实际不起作用的地方。请记住,过滤器是在服务器节点上调用的,因此必须正确序列化此映射并将其发送到所有节点。

一般来说,过滤器是基于键值对的,通常是无状态的(例如,只通知具有特定状态的事件的更新)。像这样的地图在大型数据集上可能太大了。