jmikel
-
Posts
9 -
Joined
-
Last visited
Content Type
Profiles
Forum
Events
Featured Visualizations
Knowledge Base
Documentation (PDF Downloads)
Blog
Documentation (Test Area)
Documentation
Dr. Jaspersoft Webinar Series
Downloads
Posts posted by jmikel
-
-
-
05/22/2014 12:50:45 [DEBUG] Fill 9654749: Creating sql query executer
05/22/2014 12:50:45 [DEBUG] getQueryString=SELECT C.OmniPCXName OmniPCXName,C.StartTime StartTime,C.EndTime EndTime,C.Node Node,C.DistantID DistantID,C.LocalID LocalID,C.NtwkDly0to40 NtwkDly0to40,C.NtwkDly40to80 NtwkDly40to80,C.NtwkDly80to150 NtwkDly80to150,C.NtwkDly150to250 NtwkDly150to250,C.NtwkDlyOver250 NtwkDlyOver250,C.MaxDelay MaxDelay,C.JitterDepth0 JitterDepth0,C.JitterDepth1 JitterDepth1,C.JitterDepth2 JitterDepth2,C.JitterDepth3 JitterDepth3,C.JitterDepth4 JitterDepth4,C.JitterDepth5 JitterDepth5,C.JitterDepth6 JitterDepth6,C.JitterDepth7 JitterDepth7,C.JitterDepth8 JitterDepth8,C.JitterDepth9 JitterDepth9,C.VN_MOS VN_MOS,C.VN_MOSValid VN_MOSValid,C.Duration Duration,(P.GroupName) GrpName,C.preCalcDelay preCalcDelay,C.CalcDelay CalcDelay,C.CalcJitter CalcJitter,C.DelayName DelayName,C.JitterName JitterName,C.PacketDelivery PacketDelivery,C.PacketDeliveryName PacketDeliveryName,C.MOSName MOSName FROM (SELECT case when
(JitterDepth0) + (JitterDepth1) + (JitterDepth2) + (JitterDepth3) + (JitterDepth4) + (JitterDepth5) + (JitterDepth6) + (JitterDepth7) + (JitterDepth8) + (JitterDepth9) != 0 then
( ((JitterDepth0)*10.0)+ ((JitterDepth1)*30.0)+((JitterDepth2)*50.0) + ((JitterDepth3)*70.0) + ((JitterDepth4)*90.0) + ((JitterDepth5)*110.0) + ((JitterDepth6)*130.0) + ((JitterDepth7) * 150.0) + ((JitterDepth8) * 170.0) + ((JitterDepth9) * 190.0) ) / ((JitterDepth0) + (JitterDepth1) + (JitterDepth2) + (JitterDepth3) + (JitterDepth4) + (JitterDepth5) + (JitterDepth6) + (JitterDepth7) + (JitterDepth8) + (JitterDepth9))
else 0
end CalcJitter,NtwkDly80to150,Node,'Average PacketDelivery(%)' PacketDeliveryName,NtwkDly150to250,'Average Jitter(ms)' JitterName,'Average Roundtrip Delay(ms)' DelayName,VN_MOSValid,NtwkDlyOver250,JitterDepth1,VN_MOS,JitterDepth2,JitterDepth0,case when (case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end) < (MaxDelay) then (case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end) else (MaxDelay) end CalcDelay,MaxDelay,JitterDepth5,JitterDepth6,Duration,JitterDepth3,JitterDepth4,case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end preCalcDelay,JitterDepth8,NtwkDly0to40,JitterDepth7,JitterDepth9,LocalID,NtwkDly40to80,100 - (PktLossRatio) PacketDelivery,StartTime,'Average MOS Score' MOSName,DistantID,EndTime,OmniPCXName FROM ( SELECT V.* FROM [192.168.94.112].vnpoller.dba.oxe_voip_normcr V WHERE (V.VN_endTime >= 1400432400 AND V.VN_endTime < 1400691600) ) TBL WHERE (VN_endTime>=1400432400 AND VN_endTime<1400691600) AND ((VN_MOSValid = 1)) AND ((Duration >= 0)) ) C INNER JOIN VART_TMP_1400731758837 P ON ((P.Index2 = C.LocalID OR P.Index2 = C.DistantID)) ORDER BY (P.GroupName)
05/22/2014 12:50:48 [DEBUG] Parameter: key=QUERY, value=SELECT C.OmniPCXName OmniPCXName,C.StartTime StartTime,C.EndTime EndTime,C.Node Node,C.DistantID DistantID,C.LocalID LocalID,C.NtwkDly0to40 NtwkDly0to40,C.NtwkDly40to80 NtwkDly40to80,C.NtwkDly80to150 NtwkDly80to150,C.NtwkDly150to250 NtwkDly150to250,C.NtwkDlyOver250 NtwkDlyOver250,C.MaxDelay MaxDelay,C.JitterDepth0 JitterDepth0,C.JitterDepth1 JitterDepth1,C.JitterDepth2 JitterDepth2,C.JitterDepth3 JitterDepth3,C.JitterDepth4 JitterDepth4,C.JitterDepth5 JitterDepth5,C.JitterDepth6 JitterDepth6,C.JitterDepth7 JitterDepth7,C.JitterDepth8 JitterDepth8,C.JitterDepth9 JitterDepth9,C.VN_MOS VN_MOS,C.VN_MOSValid VN_MOSValid,C.Duration Duration,(P.GroupName) GrpName,C.preCalcDelay preCalcDelay,C.CalcDelay CalcDelay,C.CalcJitter CalcJitter,C.DelayName DelayName,C.JitterName JitterName,C.PacketDelivery PacketDelivery,C.PacketDeliveryName PacketDeliveryName,C.MOSName MOSName FROM (SELECT case when
(JitterDepth0) + (JitterDepth1) + (JitterDepth2) + (JitterDepth3) + (JitterDepth4) + (JitterDepth5) + (JitterDepth6) + (JitterDepth7) + (JitterDepth8) + (JitterDepth9) != 0 then
( ((JitterDepth0)*10.0)+ ((JitterDepth1)*30.0)+((JitterDepth2)*50.0) + ((JitterDepth3)*70.0) + ((JitterDepth4)*90.0) + ((JitterDepth5)*110.0) + ((JitterDepth6)*130.0) + ((JitterDepth7) * 150.0) + ((JitterDepth8) * 170.0) + ((JitterDepth9) * 190.0) ) / ((JitterDepth0) + (JitterDepth1) + (JitterDepth2) + (JitterDepth3) + (JitterDepth4) + (JitterDepth5) + (JitterDepth6) + (JitterDepth7) + (JitterDepth8) + (JitterDepth9))
else 0
end CalcJitter,NtwkDly80to150,Node,'Average PacketDelivery(%)' PacketDeliveryName,NtwkDly150to250,'Average Jitter(ms)' JitterName,'Average Roundtrip Delay(ms)' DelayName,VN_MOSValid,NtwkDlyOver250,JitterDepth1,VN_MOS,JitterDepth2,JitterDepth0,case when (case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end) < (MaxDelay) then (case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end) else (MaxDelay) end CalcDelay,MaxDelay,JitterDepth5,JitterDepth6,Duration,JitterDepth3,JitterDepth4,case when (NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250) != 0 then
(((NtwkDly0to40) * 20.0)+((NtwkDly40to80)*60)+((NtwkDly80to150)*115)+((NtwkDly150to250)*200)+((NtwkDlyOver250)*250.0)) / ((NtwkDly0to40) + (NtwkDly40to80) + (NtwkDly80to150) + (NtwkDly150to250) + (NtwkDlyOver250))
else 0
end preCalcDelay,JitterDepth8,NtwkDly0to40,JitterDepth7,JitterDepth9,LocalID,NtwkDly40to80,100 - (PktLossRatio) PacketDelivery,StartTime,'Average MOS Score' MOSName,DistantID,EndTime,OmniPCXName FROM ( SELECT V.* FROM [192.168.94.112].vnpoller.dba.oxe_voip_normcr V WHERE (V.VN_endTime >= 1400432400 AND V.VN_endTime < 1400691600) ) TBL WHERE (VN_endTime>=1400432400 AND VN_endTime<1400691600) AND ((VN_MOSValid = 1)) AND ((Duration >= 0)) ) C INNER JOIN VART_TMP_1400731758837 P ON ((P.Index2 = C.LocalID OR P.Index2 = C.DistantID)) ORDER BY (P.GroupName)
05/22/2014 12:50:48 [DEBUG] Fill 9654749: title
05/22/2014 12:51:52 [DEBUG] Fill 9654749: closing query executer
05/22/2014 12:51:52 [DEBUG] Fill 9654749: notifying of completion
05/22/2014 12:51:52 [DEBUG] Fill 9654749: notified of fill result
05/22/2014 12:51:52 [ERROR] Fill 21261417: exception
net.sf.jasperreports.engine.JRException: Unable to get next record.
at net.sf.jasperreports.engine.JRResultSetDataSource.next(JRResultSetDataSource.java:95)
at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:866)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:784)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1478)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:129)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:608)
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.sql.SQLException: Cannot fetch a row from OLE DB provider "SQLNCLI10" for linked server "192.168.94.112".
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)The query was executed at 05/22/2014 12:50:45. But at 05/22/2014 12:51:52, the exception was thrown.
Caused by: java.sql.SQLException: Cannot fetch a row from OLE DB provider "SQLNCLI10" for linked server "192.168.94.112". Is It the "Query timeout expired" on SQL Server?
Can anyone here point me in the direction of how I can both diagnose and fix this?
Thanks,
Tai Hoang
-
Hi All,
Because my report has some contents that be spread page out. hence, I tried to re-format report before export it into pdf.
My code below:
JRVirtualizer virtualizer = new AJVirtualizer(); JRVirtualizationHelper.setThreadVirtualizer(virtualizer); AJPersistenceManager pmgr = new AJPersistenceManager(); JasperPrint print = pmgr.readPrintFromFile(prtFileName, startPage, endPage); AJLayout ajLayout = new AJLayout(); if(exporter instanceof AJPdfExporter || exporter instanceof AJRtfExporter) { try { print = ajLayout.spreadPageOut(print); } catch (vqException e) { e.printStackTrace(); } } exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); if(this.outputFile != "") { exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, this.outputFile); } else { exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, this.ostream); } exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, contentEncoding); exporter.setParameter(AJExporterParameter.REPORT_FILE_NAME, dbFileName());[/code]
AJLayout.java
public class AJLayout { private static final Log log = LogFactory.getLog(AJLayout.class); private int pageWidth; private int pageHeight; private int leftPageMargin = 36; private JasperPrint jp; public AJLayout() {} public JasperPrint spreadPageOut(JasperPrint jasperPrint) throws vqException { jp = new JasperPrint(); pageWidth = jasperPrint.getPageWidth(); pageHeight = jasperPrint.getPageHeight(); jp.setPageHeight(pageHeight); jp.setPageWidth(pageWidth); try { log.info("AJLayout: spreadPageOut"); for (int i = 0; i < jasperPrint.getPages().size(); i++) { spreadPageOut(jasperPrint.getPages().get(i)); } } catch (Exception ex) { log.error(ex); } return jp; } public void spreadPageOut(JRPrintPage page) { boolean hasSpread = false; boolean isAdded2NewPage = false; List<JRPrintElement> elements = page.getElements(); int posSpreadX = 0; JRBasePrintPage curPage = new JRBasePrintPage(); JRBasePrintPage spreadPage = null; for (int i = 0; i < elements.size(); i++) { isAdded2NewPage = false; //JRPrintElement element = elements.get(i); int eWidth = elements.get(i).getWidth(); int eX = elements.get(i).getX(); if (eWidth < pageWidth && ((eX + eWidth) > pageWidth)) { JRPrintElement element = elements.get(i); if (!hasSpread) { hasSpread = true; posSpreadX = eX - leftPageMargin; if (spreadPage == null) { spreadPage = new JRBasePrintPage(); } } element.setX(eX - posSpreadX); spreadPage.addElement(element); isAdded2NewPage = true; } else { curPage.addElement(elements.get(i)); } if (isAdded2NewPage == false && (elements.get(i) instanceof JRTemplatePrintFrame)) { JRTemplatePrintFrame returnedFrame = spreadPageOut((JRTemplatePrintFrame) elements.get(i), eX); if (returnedFrame != null) { if (spreadPage == null) { spreadPage = new JRBasePrintPage(); } spreadPage.addElement(returnedFrame); } } } jp.addPage(curPage); if (spreadPage != null) { spreadPageOut(spreadPage); } } public JRTemplatePrintFrame spreadPageOut(JRTemplatePrintFrame frame, int posXOffset) { boolean hasSpread = false; boolean isAdded2NewFrame = false; List<JRPrintElement> elements = frame.getElements(); int posSpreadX = 0; JRTemplatePrintFrame spreadFrame = null; int pageWidthBound = pageWidth - posXOffset; for (int i = 0; i < elements.size(); i++) { isAdded2NewFrame = false; //JRPrintElement element = elements.get(i); int eWidth = frame.getElements().get(i).getWidth(); int eX = frame.getElements().get(i).getX(); if (eWidth < pageWidth && ((eX + eWidth) > pageWidthBound)) { JRPrintElement element = elements.get(i); if (!hasSpread) { hasSpread = true; posSpreadX = eX; if (spreadFrame == null) { spreadFrame = new JRTemplatePrintFrame(new JRTemplateFrame(frame.getOrigin(), frame.getDefaultStyleProvider())); spreadFrame.setY(frame.getY()); spreadFrame.setX(leftPageMargin); } } elements.remove(element); i--; element.setX(eX - posSpreadX); spreadFrame.addElement(element); isAdded2NewFrame = true; } if (isAdded2NewFrame == false && (elements.get(i) instanceof JRTemplatePrintFrame)) { JRTemplatePrintFrame returnedFrame; returnedFrame = spreadPageOut((JRTemplatePrintFrame) elements.get(i), posXOffset + eX); if (returnedFrame != null) { if (spreadFrame == null) { spreadFrame = new JRTemplatePrintFrame(new JRTemplateFrame(frame.getOrigin(), frame.getDefaultStyleProvider())); spreadFrame.setY(frame.getY()); spreadFrame.setX(leftPageMargin); } spreadFrame.addElement(returnedFrame); } } } return spreadFrame; } }[/code]
My code run sucessfully with a small report. But when i execute with huge-report (size > 2G). I got an error below:
[root@VSDEV-94-35 init.d]# Exception in thread "Thread-0" Exception in thread "pool-2-thread-2" Exception in thread "pool-2-thread-4" Exception in thread "RMI RenewClean-[192.168.94.35:57380]" java.lang.OutOfMemoryError: Java heap space at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source) at java.io.ObjectInputStream.readUTF(Unknown Source) at net.sf.jasperreports.engine.virtualization.StringSerializer.read(StringSerializer.java:61) at net.sf.jasperreports.engine.virtualization.StringSerializer.read(StringSerializer.java:32) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.fill.JRTemplatePrintText.readVirtualized(JRTemplatePrintText.java:1038) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.fill.JRTemplatePrintFrame.readVirtualized(JRTemplatePrintFrame.java:158) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.fill.JRTemplatePrintFrame.readVirtualized(JRTemplatePrintFrame.java:158) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.base.VirtualElementsData.readVirtualized(VirtualElementsData.java:179) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.util.VirtualizationSerializer.readData(VirtualizationSerializer.java:135) at net.sf.jasperreports.engine.util.SwapFileVirtualizerStore.retrieve(SwapFileVirtualizerStore.java:137) at net.sf.jasperreports.engine.fill.StoreVirtualizer.pageIn(StoreVirtualizer.java:58) at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.requestData(JRAbstractLRUVirtualizer.java:521) at net.sf.jasperreports.engine.base.ElementsBlock.ensureData(VirtualizableElementList.java:463)java.lang.OutOfMemoryError: Java heap space at java.lang.Class.privateGetDeclaredFields(Unknown Source) at java.lang.Class.getDeclaredField(Unknown Source) at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source) at java.io.ObjectStreamClass.access$700(Unknown Source) at java.io.ObjectStreamClass$2.run(Unknown Source) at java.io.ObjectStreamClass$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.io.ObjectStreamClass.<init>(Unknown Source) at java.io.ObjectStreamClass.lookup(Unknown Source) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) at java.io.ObjectOutputStream.writeSerialData(Unknown Source) at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) at java.io.ObjectOutputStream.writeSerialData(Unknown Source) at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.writeObject(Unknown Source) at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source) at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source) at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source) at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source) at java.lang.Thread.run(Unknown Source)java.lang.OutOfMemoryError: Java heap space at sun.nio.cs.ISO_8859_1.newEncoder(Unknown Source) at java.lang.StringCoding$StringEncoder.<init>(Unknown Source) at java.lang.StringCoding$StringEncoder.<init>(Unknown Source) at java.lang.StringCoding.encode(Unknown Source) at java.lang.String.getBytes(Unknown Source) at java.io.UnixFileSystem.getBooleanAttributes0(Native Method) at java.io.UnixFileSystem.getBooleanAttributes(Unknown Source) at java.io.File.exists(Unknown Source) at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:77) at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:108)java.lang.OutOfMemoryError: Java heap space at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:111) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.fill.JRTemplatePrintFrame.readVirtualized(JRTemplatePrintFrame.java:158) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.fill.JRTemplatePrintFrame.readVirtualized(JRTemplatePrintFrame.java:158) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.base.VirtualElementsData.readVirtualized(VirtualElementsData.java:179) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:119) at net.sf.jasperreports.engine.virtualization.SerializableSerializer.read(SerializableSerializer.java:35) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:137) at net.sf.jasperreports.engine.virtualization.VirtualizationInput.readJRObject(VirtualizationInput.java:105) at net.sf.jasperreports.engine.util.VirtualizationSerializer.readData(VirtualizationSerializer.java:135) at net.sf.jasperreports.engine.util.SwapFileVirtualizerStore.retrieve(SwapFileVirtualizerStore.java:137) at net.sf.jasperreports.engine.fill.StoreVirtualizer.pageIn(StoreVirtualizer.java:58) at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.requestData(JRAbstractLRUVirtualizer.java:521) at net.sf.jasperreports.engine.base.ElementsBlock.ensureData(VirtualizableElementList.java:463) at net.sf.jasperreports.engine.base.ElementsBlock.ensureDataAndTouch(VirtualizableElementList.java:432) at net.sf.jasperreports.engine.base.ElementsBlock.get(VirtualizableElementList.java:283) at net.sf.jasperreports.engine.base.VirtualizableElementList.get(VirtualizableElementList.java:96) at net.sf.jasperreports.engine.base.VirtualizableElementList.get(VirtualizableElementList.java:54) at com.alu.vital.vq.jasper.exporter.AJLayout.spreadPageOut(AJLayout.java:66)[/code]
Please take a look and give to me your idea to fix this issue?
Thanks and best regards,
-
Hi hozawa.
I don't use Jaspersoft Studio. I override some classes from JasperReport library to report my report.
Below list jars that i have used:
jasperreports-5.5.1. jar
commons-beanutils-1.8.0.jar
commons-collections-2.1.1.jar
commons-digester-2.1.jar
commons-javaflow-20060411.jar
commons-logging-1.1.1.jar
iText-2.1.7.jar
jasperreports-javaflow-5.5.1.jar
jcommon-1.0.15.jar
jdt-compiler-3.1.1.jar
jfreechart-1.0.12.jar
poi-3.7-20101029.jar
jasperreports-fonts-5.5.1.jar
I run on window server (64-bit Operating System). My report still run normally with Jasper Library 5.0.1.
Thanks,
Tai Hoang
-
Hi all
I just upgrade from Jasper5.0.1 to Jasper5.5.1. But when i run report, i got the error:
threw a JobExecutionException:
org.quartz.JobExecutionException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser [see nested exception: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser]
at com.lucent.vital.vq.reportserver.quartz.QuartzReportJob.execute(QuartzReportJob.java:156)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:123)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
at net.sf.jasperreports.engine.fill.BaseFillHandle.<init>(BaseFillHandle.java:75)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:98)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:68)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.createHandle(AsynchronousFillHandle.java:149)
at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.createHandle(AsynchronousFillHandle.java:202)
I foundsome solutions on internet: (http://stackoverflow.com/questions/3628302/jasperreports-noclassdeffounderror-exception-on-net-sf-jasperreports-engine-util)
"The Sun AWT classes on Unix and Linux have a dependence on the X Window System. When you use these classes, they expect to load X client libraries and be able to talk to an X display server. This makes sense if your client has a GUI; unfortunately, it's required even if your client uses AWT but does not have a GUI (which is my case, generating a report from a web application)
The way to bypass this, is setting a system property
java.awt.headless=true
on system startup."I tried to set in my app:
System.setProperty("java.awt.headless", "true");
But i still got above error.
My report still run sucessfully with Jasper 5.0.1 without any changes.
Do you have another solution to fix this issue?
Thanks,
Tai Hoang
-
Hi hozawa.
Thanks for your help.
I tried divide my reports into multi sub-reports (>1000 subreports). I still use this function for each sub-report to export data. But it still hangs when export for report No. 589.
I guess this problem come from java heap memory exception. I still not get any exception. I tried with small report and it executed sucessfully. I set memory for Tomcat at: -xms64M -xmx3072M. I want to export into the OutputStream before i save it into a pdf file.
What should i do for my app? I need execute e huge-report.
Thanks,
Tai Hoang
-
-
Hi all
I have a problem when export a huge-report (size 4GB)
I used JRVirtualizer to fill report, and it worked sucessfully. I could get the JasperPrint object after filled the report.
But when i export the JasperPrint object out to PDF or XML. It was hung and i couldn't get the report output after a long time.
Below is my code to export:
private void export(JRExporter exporter) throws JRException, IOException, ClassNotFoundException { JRVirtualizer virtualizer = new AJVirtualizer(); JRVirtualizationHelper.setThreadVirtualizer(virtualizer); //Get JasperPrint object after filled report AJPersistenceManager pmgr = new AJPersistenceManager(); JasperPrint print = pmgr.readPrintFromFile(prtFileName, startPage, endPage); exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, this.ostream); exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, contentEncoding); exporter.setParameter(AJExporterParameter.REPORT_FILE_NAME, dbFileName()); setOutputPages(exporter); //When perform this function, it was hung at here exporter.exportReport(); JRVirtualizationHelper.clearThreadVirtualizer(); virtualizer.cleanup(); this.contentEncoding = (String)exporter.getParameter(JRExporterParameter.CHARACTER_ENCODING); }private void setOutputPages(JRExporter exporter) { if (startPage != -1) { if (endPage == startPage) { exporter.setParameter(AJExporterParameter.TRUE_PAGE_NUMBER, startPage); } else { exporter.setParameter(AJExporterParameter.TRUE_START_PAGE, startPage); exporter.setParameter(AJExporterParameter.TRUE_END_PAGE, endPage); } } exporter.setParameter(AJExporterParameter.REPORT_NUM_PAGES, numPages); } [/code]
Who did get this problem like me? If you have any idea, please give me your comments and how can i solve this issue?
I use JasperReport 5.0.1
Thanks and best regards,
Tai Hoang
Error class not found when readObject from InputStream
in Products
Posted
Hi everybody.
I try to write JRVirtualPrintPage object into OutputStream in order to wite it to persistence file.
But when i read from InputStream, i couldn't load a class which i defined when perform percentile calculation
My code at below:
I got an error at below:
The "com.alu.vital.vq.jasper.aggregation.AJPercentileAggregator" class is class which i defined to perform percentile calculation. It was compiled when build report.
Why do i use JRVirtualPrintPage object to write into OutputStream and when read from InputStream, i also cast object to JRVirtualPrintPage type, why does this exception occur?
Please help me explain more details this. And how can i fix it? I think it relave to new Virtualize mechanism becaue this issue only occurs when i upgrade Jasper from 3.7.4 to 5.0.1
Thanks,
jMikel