メモリを大量に消費するレポートのパフォーマンスの最適化
レポートの生成中に、JasperReports はレポートデザイン定義 (JRXML) ファイルを .jasper ファイルにコンパイルしてから、.jasper ファイルにデータを取り込みます。レポート入力プロセスの出力は、JasperPrint オブジェクトの形式のドキュメントです。このオブジェクトの各インスタンスを、HTML、PDF、CSV、XLSX などのフォーマットで表示、印刷、エクスポートできます。
JasperPrint オブジェクトの作成時にはバーチャライザーが必要です。大規模なデータセットを扱う場合、オブジェクトのサイズが大きくなってメモリ消費量が増加する可能性があります。Windchill でメモリ不足の例外が発生しないようにするには、バーチャライザーが必要です。バーチャライザーは JasperPrint オブジェクトを複数のファイルに分割し、これらのファイルをハードドライブに保存して圧縮します。
Windchill では次のバーチャライザーがサポートされています。
JRFileVirtualizer: ディスク上にテンポラリファイルを作成します。仮想化されたページごとに 1 つのテンポラリファイルを生成します。
JRSwapFileVirtualizer: 仮想化されたすべてのページが保存される単一のスワップファイルを作成します。必要に応じて、ファイルサイズを拡張できます。
JRGzipVirtualizer: デフォルトのバーチャライザー。仮想化されたページを保存するファイルを作成しません。Gzip アルゴリズムを使用して JasperPrint オブジェクトを圧縮することで、メモリ消費量を最適化します。
バーチャライザーの設定は、次のプロパティによって有効になります。これらのプロパティは WT_HOME/codebase にある jasper-integration.properties.xconf ファイルで設定します。
com.ptc.wbr.jasper.virtualizer.enabled: Windchill での Jasper バーチャライザーのサポートを有効にします。デフォルト値は true です。
com.ptc.wbr.jasper.virtualizer: 使用するデフォルトのバーチャライザーを指定します。デフォルト値は JRGZIPVIRTUALIZER です。
com.ptc.wbr.jasper.virtualizer.cachedsize: メモリに保存される JasperPrint オブジェクトのページ数を指定します。デフォルト値は 300 です。
com.ptc.wbr.jasper.jrswapvirtualizer.blocksize: スワップファイルによって割り当てられるブロックの数を指定します。デフォルト値は 4096 です。
com.ptc.wbr.jasper.jrswapvirtualizer.mingrowcount: スワップファイルがいっぱいになったときに拡張可能なブロックの最小数を指定します。デフォルト値は 200 です。
com.ptc.wbr.jasper.virtualizer.templocation: 仮想化されたテンポラリファイルを保持できる一時的な場所を指定します。デフォルト値は {WT.TEMP} です。
* 
デフォルト値を変更しないでください。
これは役に立ちましたか?