Ich arbeite in einer Webanwendung, es verwendet JasperReports 5 (jasperreports-5.0.1.jar), aber Speicher verliert bis java.lang.OutOfMemoryError, diese App generiert dynamische Berichte zwischen 10 bis 100 Seiten.JasperReports Speicherleck
I MAT bin mit, um zu wissen, was los ist, wie Sie in den folgenden Bildern sehen können, Jasperreports ist Haltespeicher:
Histogramm von Paket gruppiert:
Die Namen Plantilla und SubReport im Histogramm sind in Verbindung mit unseren Berichten, die mit JasperReports generiert wurden.
Diese Webanwendung läuft auf der folgenden Umgebung:
-WebLogic 11g
-jrockit-jdk1.6.0_45-R28.2.7-4.1.0
-Xms2048m -Xmx2048m
-Oracle Linux
Wenn Sie etwas ähnliches konfrontiert haben, lassen Sie mich Ihre Erfahrung wissen.
1) Vielleicht gibt Ihr Code keine Ressourcen frei. Was ist mit der Ressourcenverwaltung in Ihrem Code? 2) Haben Sie versucht, JR 6.3 Version (oder 6.2) zu verwenden? 3) Haben Sie versucht, Oracle jre/jdk und jdk8 zu verwenden? –
Versuchen Sie, die Eigenschaft net.sf.jasperreports.evaluator.class.reference.fix.enabled in Ihrer jasperreports.properties auf false zu setzen. – dada67
Was meinst du mit Ressourcenmanagement ?, habe ich nicht mit einer anderen JR-Version versucht, mit Orakel jdk ist keine Option, denn was wir in der Produktion haben. – dogmeat