我是Oracle Coherence Cache的新手。
我使用read-write-backing-map-scheme配置了静态分布式缓存。
我将数据放入缓存
CacheFactory.getCache(regionName).put("EntityName",Vector<Entity>);
现在我尝试使用com.tangosol.util.filter.EqualsFilter
过滤缓存的数据:
EqualsFilter filter = new EqualsFilter(new ReflectionExtractor("getStateCd", 2);
从缓存我得到缓存的数据但是在传递过滤器参数时它会抛出异常 即CacheFactory.getCache(regionName).entrySet(filter);
RuntimeException:缺少或不可访问的方法:java.util.Vector.getStateCd(); 在com.tangosol.util.extractor.ReflectionExtractor.extract(ReflectionExtractor.java:113)
如何让Reflection Extractor在Entity
中查找getStateCd方法,而不是Vector
Vector<Entity>
或List<Entity>
?
答案 0 :(得分:0)
可能的解决方案是实施ValueExtractor
接口,以便将每个stateCd
的{{1}}字段值收集到Entity
中。并将此提取器与Coherence Collection
或ContainsFilter