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