shankarganesh Posted December 15, 2007 Share Posted December 15, 2007 Hi,My requirement is like i need to create a complex report which involves many queries.Since iReport supports only one query per jrxml i have designed it with many subreport elements in one main report.When i try to run main report i get java.lang.outOfMemory exception.I am copying the stack trace with this. NESTED BY : java.lang.OutOfMemoryError NESTED BY : net.sf.jasperreports.engine.JRRuntimeException at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:569) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:271) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:311) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:279) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1270) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:589) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:229) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:834) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:705) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247) at com.boeing.owi.Servlets.GenerateReport.fillReport(GenerateReport.java:173) at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:112) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.OutOfMemoryError OrderKey passed:197.0 net.sf.jasperreports.engine.JRException: No input source supplied to the exporter. at net.sf.jasperreports.engine.JRAbstractExporter.setInput(JRAbstractExporter.java:231) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:209) at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:188) at com.boeing.owi.Servlets.GenerateReport.exportToPDFBytes(GenerateReport.java:211) at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:115) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) java.lang.NullPointerException at com.boeing.owi.Servlets.GenerateReport.send2Browser(GenerateReport.java:237) at com.boeing.owi.Servlets.GenerateReport.doGet(GenerateReport.java:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) Kindly help me debug this issue.Thanks,ShankarGanesh. Link to comment Share on other sites More sharing options...
mmflynn Posted December 17, 2007 Share Posted December 17, 2007 I'm going to take a wild stab at this. My best guess is that you're best off changing the database/queries (JasperETL might be useful). Barring that, you could try bumping up the Java environment variables. On my machines, they look like this: Linux: /opt/jasperserver/apache-tomcat/bin/setenv.sh Code:JAVA_OPTS="$JAVA_OPTS "-XX:MaxPermSize-512m" "-Xmx256mWindows: c:program filesjasperserverapache-tomcatbinsetenv.bat Code:[code]set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=512m -Xmx256m Good luck, but please don't hold me to anything. Mary Link to comment Share on other sites More sharing options...
shankarganesh Posted December 17, 2007 Author Share Posted December 17, 2007 Thanks! I rewrote my query and it actually did the magic... Thanks a lot. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now