My name is Lyudvig. I'm java developer and we are using JasperReports to export big data to PDF, XLS, XLSX and HTML. Below shortly I will describe how we are doing it and describe a problem that we have with JRClassLoader.
As I have written above we are exporting big tables. They are very different and because of that we can't use static compiled templates (.jasper) and have to create jasper template dynamically. We are adding fields, text fields to JasperDesign using java.
Recently we have discovered that after several exports we get OutOfMemory Error for PermGen space.
After application profiling we have find out that when exporting data using JasperReports, for each export JRClassLoader loads new temp classes and they are never unloaded. See attached screenshot. So every time the loaded classes count is rising and finally JVM throws an out of memory error.
No answers yet