使用JasperReports 5.6製作的報表因為資料量過大而出現近似Out of Memory的問題,研讀後發現原來JasperReports可以透過Virtualizers機制,將報表先寫到硬碟最終再組合成報表檔,從而降低記憶體的耗用。
比較完成的說明可以看Virtualizers in JasperReports | Jaspersoft Community,以下是簡單的範例。報表產生過程中,會在C:\temp產生SWAP檔。
JRSwapFileVirtualizer virtualizer = null; try { JRSwapFile swapFile = new JRSwapFile("c:/temp", 1024, 100); virtualizer = new JRSwapFileVirtualizer(50, swapFile, true); params.put(JRParameter.REPORT_VIRTUALIZER, virtualizer); ... JasperPrinter printer = JasperFillManager.fillReport(report, params, dataSource); ... } finally { if (virtualizer != null) virtualizer.cleanup(); }
#
您可能也會有興趣的類似文章
- 取得iReport / JasperReports報表內特定元件的方法 [修訂] (5則留言, 2011/10/17)
- [Java] JasperReports終於成為1.0版了 (0則留言, 2005/07/21)
- 解決 iReport 升級後的問題 (1則留言, 2005/11/22)
- [JasperReports] 0.6.7更新與JasperSoft提供商業服務 (0則留言, 2005/05/17)
- Java: 使用jCIFS存取遠端網路磁碟機的檔案 (0則留言, 2015/05/20)
- [iReport] Text Field中引用的欄位、變數與參數 (0則留言, 2005/04/16)
- [iReport] 兩個文字元件:Static Text與Text Field (0則留言, 2005/04/15)
- ASUS釋出 ZenFone 2的官方版解鎖工具 (0則留言, 2015/10/15)
- Apple無線鍵盤常用按鍵速查表(for iPad) (12則留言, 2011/03/12)
- 修改WordPress 2.8最新迴響的顯示格式 (0則留言, 2009/06/17)
- Command Prompt Explorer Bar: 將DOS視窗嵌入檔案總管 (4則留言, 2010/01/23)
- Java: 討人厭的SOAP Web Service;使用SoapUI解決 (0則留言, 2015/05/31)
- 替Prompt加上顏色 (1則留言, 2004/12/03)
- JSP快速產生Excel內容的方法 (0則留言, 2015/07/15)
- 用IntelliJ IDEA的GUI Designer開發Swing程式 (0則留言, 2014/02/14)