我试图通过以下代码来刷新mondrian维度缓存-
org.olap4j.metadata.Schema OlapSchema = olapConnection.getOlapSchema();
NamedList<org.olap4j.metadata.Cube> cubeList = OlapSchema.getCubes();
org.olap4j.metadata.Member m = null;
for(org.olap4j.metadata.Cube cube: cubeList) {
m = cube.lookupMember(IdentifierNode.parseIdentifier( "[Time].[2013].[Jul2013]").getSegmentList());
final CacheControl cacheControl = olapConnection.getCacheControl(null);
CacheControl.MemberSet regionTime = cacheControl.createMemberSet(mondrian.olap.Member)m, false);
cacheControl.flush(regionTime);
}但是这段代码引发了一个运行时错误"MondrianOlap4jMember和mondrian.olap.member是不兼容的“
发布于 2013-08-05 10:34:36
看来您需要执行以下操作才能刷新缓存--使用lookupMember函数返回的成员对象展开包装,就像这样-
M= cube.lookupMember(IdentifierNode.parseIdentifier(“Time.2013.2013年7月”).getSegmentList();OlapWrapper包装器= (OlapWrapper)m;mondrian.olap.Member MondrianMember = wrapper.unwrap(mondrian.olap.Member.class);
现在打电话给冲洗方法-
cacheControl.flush(MondrianMember);
https://stackoverflow.com/questions/17977922
复制相似问题