[#5181] - java.io.NotSerializableException: net.sf.jasperreports.engine.util.DefaultFormatFactory

Category:
Bug report
Priority:
Urgent
Status:
Closed
Project: Severity:
Major
Resolution:
Unable to Reproduce
Component: Reproducibility:
Always
Assigned to:

I'm running into a serious problem with classes that can't be serialized and is a requirement for my app to marshall code across jvm's and over the wire (via a distributed framework).

Any reason why serializable is implemented? Can this possibly be addressed?

Thank you in advance

torrana's picture
23
Joined: Apr 1 2011 - 10:20am
Last seen: 7 years 5 months ago

7 Comments:

#1

Hi,

Can we see a stack trace? What objects are you trying to serialize?

Thank you,
Teodor

#2

Hi there and thank you for the reply, and sorry for mine being so late.

I managed to get around the 2 issues I was encountering with serialization and jasper reports;

1.
I had a private static member of the virtualizer being initialized and that would fail. I now initialize it to null and use/dispose in a private method.

2. I ran to a serialization issue with one of the date formatter classes in a jasper report. In my requirement, the report runs in another jvm and does not require any data to be marshalled in return. So releasing all resources before the remote call is complete resolves my issue.

I hope this is clear, and thank you again.

#3

I also see this issue, but only since I started using JRSwapFileVirtualizer and only for large reports.
2011-08-03 12:10:11,280-0500 ERROR - Error virtualizing objectjava.io.NotSerializableException: net.sf.jasperreports.engine.util.DefaultFormatFactory
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.writeData(JRAbstractLRUVirtualizer.java:572)
at net.sf.jasperreports.engine.fill.JRSwapFileVirtualizer.pageOut(JRSwapFileVirtualizer.java:87)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.virtualizeData(JRAbstractLRUVirtualizer.java:531)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache$LRUScanMap.processRemovedLRU(JRAbstractLRUVirtualizer.java:135)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache$LRUScanMap.removeLRU(JRAbstractLRUVirtualizer.java:121)
at org.apache.commons.collections.LRUMap.put(LRUMap.java:121)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer$Cache.put(JRAbstractLRUVirtualizer.java:196)
at net.sf.jasperreports.engine.fill.JRAbstractLRUVirtualizer.registerObject(JRAbstractLRUVirtualizer.java:421)
at net.sf.jasperreports.engine.base.JRVirtualPrintPage.<init>(JRVirtualPrintPage.java:176)
at net.sf.jasperreports.engine.fill.JRBaseFiller.newPage(JRBaseFiller.java:1586)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.addPage(JRVerticalFiller.java:1870)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBreak(JRVerticalFiller.java:1952)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBreak(JRVerticalFiller.java:1981)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:756)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:310)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)

#4
  • Status:Feedback Requested» Assigned
#5
  • Resolution:Open» Unable to Reproduce
  • Status:Assigned» Closed

Hi,

We were not able to reproduce this problem. If you still experience it, please provide test case files so that we can track this down.

Thanks,
Teodor

#6
  • Assigned:nobody»

Hi Team,
Please let us know what was the solution provided for this case?

#7
Feedback