4

サーバーの Olap エンジンとして Mondrian を使用しています。

ディメンション データの一部が変更されるシナリオがあります。これが発生したら、モンドリアンのキャッシュをクリアしたいと思います。

Mondrian のキャッシュ コントロールのハンドルを取得する方法がわかりません。

オブジェクトへの参照がOlapConnectionありますが、CacheControl へのハンドルを与えるメソッドが見つかりませんでした

助言がありますか?

よし

4

2 に答える 2

3

The answer given by bhuang3 is right. To access the cache control from an olap4j connection:

OlapConnection.unwrap(mondrian.rolap.RolapConnection.class).getCacheControl(null)
于 2012-12-05T15:06:14.940 に答える
1

次の 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();

または、このドキュメントを読んで詳細を確認してください。

于 2012-11-28T15:29:08.657 に答える