Coherence Cache过滤器|缺少或无法访问的方法RuntimeException

时间:2016-02-02 10:14:47

标签: java caching filter oracle-coherence

我是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>

1 个答案:

答案 0 :(得分:0)

可能的解决方案是实施ValueExtractor接口,以便将每个stateCd的{​​{1}}字段值收集到Entity中。并将此提取器与Coherence CollectionContainsFilter

一起使用