レポート ソースは、セッション変数にキャッシュすることにより、繰り返して効率的に再利用できます。レポート ソースをキャッシュしておかないと、新しいレポート ソースを何回も作成するプロセスは、かなりコスト高になります。さらに、レポート ソースをキャッシュすることにより、保存済みデータの有無にかかわらずレポートを更新できます。
以下の例では、レポート ソースをセッション変数にキャッシュする方法を説明します。
String report = "/reports/sample.rpt";
IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
session.setAttribute("reportSource", reportSource);
メモ キャッシュされたレポート ソースを使用している場合、ビューアまたはレポート ソースの dispose メソッドは、レポート ソースの使用が終了してから呼び出す必要があります。
レポートを表示する際にデータの整合性を得るため、レポート ソースをキャッシュすることを強くお勧めします。キャッシュされていないレポート ソースを使用すると、ビューアやエクスポート コントロールで何らかの操作を行ったときに新しいレポート ソースが作成されます。その結果、キャッシュされていないレポート ソースを使用すると、ビューアのあるページには保存データが表示され、別のページにはライブ データが表示されるといったことが起こります。
Business Objects http://japan.businessobjects.com/ サポート サービス http://japan.businessobjects.com/services/ |