0
我试图使用谓词向我的hazelcast地图中添加entrylistener以过滤条目。带嵌套密钥的Hazelcast PredicateBuilder
我打电话的方法是:
String addEntryListener(MapListener listener,
Predicate<K,V> predicate,
boolean includeValue)
我想建立一个谓语用我的钥匙进行过滤。我的钥匙是HazelKey
型具有以下字段:
KeyOne keyOne;
KeyTwo keyTwo;
KeyThree keyThree;
然后这三个键有场:
String code
因此,我试图做的线沿线的东西:
PredicateBuilder predicate = EntryObject.key().get("keyOne").get("code").equal("1234");
构建谓词以过滤keyOne值1234的所有条目。
然而,一旦监听器被添加,该项目得到更新,hazelcast引发错误:
Caused by: com.hazelcast.query.QueryException: java.lang.IllegalArgumentException: There is no suitable accessor for 'code' on class 'class com.sun.proxy.$Proxy45'
我相信这是因为predicateBuilder只是忽略了顶级“KeyOne” paramater,只是用“代码”等等我的问题是:如何做这个多级谓词建立?
在此先感谢。