Khi tạo những Report với dữ liệu lớn, JasperReport thường bị tràn bộ nhớ trong quá trình fill data. Bạn sẽ gặp phải exception OutOfMemoryException
Không nên hốt hoảng. JasperReports có tính năng chia nhỏ một report lớn thành những phần nhỏ hơn (gọi là segment) để xử lý. Những segment này được lưu trữ tạm thời trong một thư mục TEMP do bạn chỉ định trên ổ cứng.
Tất cả những gì phải làm thật đơn giản. Bạn chỉ cần set built-in parameter REPORT_VIRTUALIZER
Xin xem đoạn code ví dụ dưới đây://Create connection to database server
connection = ConnectionPool.getConnection();
//Create a cache at C:\Temp
JRFileVirtualizer fileVirtualizer = new JRFileVirtualizer(3, "c:\\Temp");
//Set parameter REPORT_VIRTUALIZER
HashMap parameterMap = new HashMap();
parameterMap.put(JRParameter.REPORT_VIRTUALIZER, fileVirtualizer);
//Fill data as usual
JasperFillManager.fillReportToFile("MyReport.jasper", parameterMap,connection);
Chúc thành công!
Xử lý lỗi OutOfMemoryException khi fill những report quá lớn
Chỉnh sửa lần cuối lúc 3/21/2007 05:20:00 CH - Chủ đề liên quan: JasperReports
RSS Feeds:
Đăng Nhận xét (Atom)
Hiện có (1) phản hồi:
Gửi ý kiến của bạn