早上好,伙计们,
我需要知道是否有人可以解释我对连续查询的远程过滤器的确切工作方式。
我可以定义一个HashSet来过滤缓存密钥吗?有人能给我一个很好的例子来澄清我的怀疑吗? 这是我的代码不起作用,其中Filter是一个HashSet。我认为执行后的服务器节点处于死锁状态。
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());
}
};
}
});
先谢谢你们。
答案 0 :(得分:0)
目前尚不清楚您从何处拍摄地图,以及实际上无效的地图。请记住,在服务器节点上调用过滤器,因此必须正确地序列化此映射并将其发送到所有节点。
通常,过滤器基于键值对,通常是无状态的(例如,仅通知具有特定状态的事件的更新)。像这样的地图在大型数据集上可能太大了。