2013-07-31 2 views
1

내가 코드에 따라 몬드리안 차원 캐시를 플러시하려고 플러시 안한다 -몬드리안 차원 캐시가

 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이 호환되지 않습니다" 지금처럼 Olap wrapper class를 사용 lookupMember 함수에 의해 반환 된 구성원 개체 풀다 - - 당신이 캐시 플러시하려면 다음을 수행해야합니다 같은

답변

0

이 보이는

미터 = cube.lookupMember을 (IdentifierNode.parseId entifier ("[시간]. [2013]. [Jul2013]"). getSegmentList()); OlapWrapper 래퍼 = (OlapWrapper) m; mondrian.olap.Member MondrianMember = wrapper.unwrap (mondrian.olap.Member.class);

그리고 지금 flush 메소드 호출 -

cacheControl.flush (MondrianMember를);

관련 문제