サーバーの Olap エンジンとして Mondrian を使用しています。
ディメンション データの一部が変更されるシナリオがあります。これが発生したら、モンドリアンのキャッシュをクリアしたいと思います。
Mondrian のキャッシュ コントロールのハンドルを取得する方法がわかりません。
オブジェクトへの参照がOlapConnection
ありますが、CacheControl へのハンドルを与えるメソッドが見つかりませんでした
助言がありますか?
よし
サーバーの Olap エンジンとして Mondrian を使用しています。
ディメンション データの一部が変更されるシナリオがあります。これが発生したら、モンドリアンのキャッシュをクリアしたいと思います。
Mondrian のキャッシュ コントロールのハンドルを取得する方法がわかりません。
オブジェクトへの参照がOlapConnection
ありますが、CacheControl へのハンドルを与えるメソッドが見つかりませんでした
助言がありますか?
よし
The answer given by bhuang3 is right. To access the cache control from an olap4j connection:
OlapConnection.unwrap(mondrian.rolap.RolapConnection.class).getCacheControl(null)
次の API を使用して、キューブのキャッシュをフラッシュできます。
mondrian.olap.CacheControl cacheControl = connection.getCacheControl(null);
mondrian.olap.Schema schema = connection.getSchema();
mondrian.olap.Cube cube = schema.lookupCube(cubeName, false);
mondrian.olap.CacheControl.CellRegion cellRegion = cacheControl.createMeasuresRegion(cube);
cacheControl.flush(cellRegion);
または、スキーマキャッシュをフラッシュできます
cacheControl.flushSchemaCache();
または、このドキュメントを読んで詳細を確認してください。