Jump to content
We've recently updated our Privacy Statement, available here ×

rv7up

Members
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

rv7up's Achievements

Rookie

Rookie (2/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. Hi, I am facing issues with stacked bar charts ,Please follow the link for question http://stackoverflow.com/questions/41444256/jasper-report-stacked-bar-chart-issues
  2. I am using JRXlsxExporter to export an xlsx report Because JRXlsExporter gives Invalid row number (65536) outside allowable range (0..65535), Below is the java side code, JRXlsxExporter xlsExporter = new JRXlsxExporter(); AbstractXlsReportConfiguration config = new SimpleXlsxReportConfiguration(); config.setOnePagePerSheet(false); config.setDetectCellType(Boolean.TRUE); config.setRemoveEmptySpaceBetweenRows(true); config.setCollapseRowSpan(Boolean.TRUE); config.setIgnoreGraphics(Boolean.TRUE); config.setWrapText(Boolean.TRUE); config.setColumnWidthRatio(2.0F); config.setShowGridLines(Boolean.FALSE); config.setRemoveEmptySpaceBetweenColumns(Boolean.TRUE); config.setFontSizeFixEnabled(false); config.setSheetNames(new String[]{"Sheet1"}); List<ExporterInputItem> items = new ArrayList<>(); items.add(new SimpleExporterInputItem(jPrint, config)); xlsExporter.setExporterInput(new SimpleExporterInput(items)); xlsExporter.setExporterOutput(new SimpleOutputStreamExporterOutput(path)); xlsExporter.exportReport(); [/code]But when I opened the xlsx report the data in cell is not coming properly. Please help if there is any changes I need to do to generate the report correctly,This is kind of blocker to generate a xls/xlsx report with more than 65k rows,If we use xlsx exporter it doesn't give the data in correct format and if we use xls exporter it doesn't allow to generate a xls report with more than 65k rows. Regards RV
  3. Hi lucianc, Thanks for your reply,I tried by setting the net.sf.jasperreports.virtual.page.element.size property value as 500,1000,1500,1800 and 1900,But still getting out of memory. Regards RV
  4. Any help would be great. I am not sure if there is some one who is using virtualizers to generate the reports with more than 1million records ,Because I didn't find any stable resources about it ,every body is just stuck with this while Jasper said that they can generate reports with virtualizers of huge data set. Regards RV
  5. Hi, I have 10million records in my db table and want to generate a pdf report by fetching that data,As of now I am just passing the mysql connection to JasperFillManager.fillReport,and in report side I have created a data set and given the query definitation as select receivedJob_id as ID ,received_date as Date,job_title as Title,location as Location,firstname as FirstName,lastname as LastName from receivedJobs[/code]But when I tried to generate the report it gives me the exception saying, Generating report with swap virtulizer..Filling report .......Nov 17, 2016 11:06:33 PM net.sf.jasperreports.engine.fill.JRFillSubreport prepareSEVERE: Fill 1: exceptionjava.lang.OutOfMemoryError: GC overhead limit exceeded at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2222) at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1999) at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3504) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:490) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3198) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2366) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2789) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2322) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:233) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1114) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:691) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1314) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:931) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:873) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:665) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: java.lang.OutOfMemoryError: GC overhead limit exceeded at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:809) at net.sf.jasperreports.components.table.fill.FillTableSubreport.prepareSubreport(FillTableSubreport.java:156) at net.sf.jasperreports.components.table.fill.FillTable.prepare(FillTable.java:399) at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:151) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:331) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:384) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:358) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterNewPage(JRVerticalFiller.java:1217) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1069) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:329) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:159) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:873) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:457) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:864) at test.TestJasper.generateLargeReportWithSwapVirt(TestJasper.java:141) at test.TestJasper.main(TestJasper.java:53)Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2222) at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1999) at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3504) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:490) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3198) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2366) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2789) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2322) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:233) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1114) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:691) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1314) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:931) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:873) at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:665) at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)[/code]I am not sure how it can be handled in jasper.Also Is there any one who has successfully generated the report with more than 10 million records with or without sub reports, If yes please share your approch how you are doing,I have done what ever I could ,but still it is giving the out of memory error when the data is in millions even if i use virtualzation. Any lead would be great. Thanks RV
  6. Thanks Lucian for your reply. The heap allocated to jvm is 1536 MB which can't be extended for some reasons, But most of the heap is consumed by Jasper report fill as you can see the attached image for that.However I am not sure why jasper report requires more than 1536MB when I am using virtualizer,It should swap the blocks to disk which has 200GB free memory. It would be helpfull if you can help me with other parameter combination to pass for JRSwapFileVirtualizer.Also I have enabled the isIgnorePagination to true, Does the virtualizer work for this report,Because I have read it in this forum if isIgnorePagination is true then virtualizer doesn't work. I am working from last couple of days ,but still not able to generate the report with large data. Really Appreciate your feedback and valuable time. Thanks in advance.
  7. Hi, I am trying to generate a report of 1 million records in db,and using JRSwapFileVirtualizer and below are the configurations String tmp = FileLocations.TEMP.getFileRootFolder(); [/code]JRSwapFile jrSwapFile = new JRSwapFile(tmp,4096,50); [/code]JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(3,jrSwapFile,true); [/code] parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);[/code]I searched a lot about parameter values being passed to JRSWAPFile and JRSwapFileVirtualizer,also checked the API's ,But could not get clearity on that. I selected the block size as 4 MB and want the swap file size to get increase with 50 blocks,So in every swap the swap file should grow with 50*4 = 200MB, But when I see the swap file in file system ,it just grow with 4 MB every time. Another query is due to the incorrect combination of these parameters I am getting Out of memory error in jasper side during fill report. Please help me how to set the correct parameters for large report. Thanks in advance.
×
×
  • Create New...