Re: JasperReports Serialization error with JRDataSource
That's how I use it not to have Serialisation problem : JRResource resourcePDF = new JRConcreteResource(reportFile, new PdfResourceHandler()) { public JRDataSource getReportDataSource() { //retrieve you data //... return new JRBeanCollectionDataSource(yourCollection); } public Map getReportParameters() { Map params = new HashMap(); //set your parameters params.put("base_path", WebApplication.get().getServletContext().getRealPath("")); return params; } }; Hope this help. Gabriel. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/JasperReports-Serialization-error-with-JRDataSource-tp3325024p3325265.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: JasperReports Serialization error with JRDataSource
By the way, this is the exception I'm getting: [25/02/11 15:43:15:100 BRT] 0029 SystemOut O 2011-02-25 15:43:15,100 [WebContainer : 0] BSAD-ReportSampleWicket ERROR org.apache.wicket.util.lang.Objects - Error serializing object class br.com.bradseg.bsad.reportsamplewicket.relatorio.presentation.pages.Resultado [object=[Page class = br.com.bradseg.bsad.reportsamplewicket.relatorio.presentation.pages.Resultado, id = 2, version = 0]] org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource Field hierarchy is: 2 [class=br.com.bradseg.bsad.reportsamplewicket.relatorio.presentation.pages.Resultado, path=2] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.link.ResourceLink, path=2:linkToPdf] private final org.apache.wicket.Resource org.apache.wicket.markup.html.link.ResourceLink.resource [class=org.wicketstuff.jasperreports.JRConcreteResource] private net.sf.jasperreports.engine.JRDataSource org.wicketstuff.jasperreports.JRResource.reportDataSource [class=net.sf.jasperreports.engine.data.JRBeanCollectionDataSource] <- field that is not serializable at org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:372) ~[wicket-1.4.15.jar:1.4.15] at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:351) ~[wicket-1.4.15.jar:1.4.15] at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:641) ~[wicket-1.4.15.jar:1.4.15] Cheers, Bruno Borges www.brunoborges.com.br +55 21 76727099 "The glory of great men should always be measured by the means they have used to acquire it." - Francois de La Rochefoucauld On Fri, Feb 25, 2011 at 4:01 PM, Bruno Borges wrote: > Hey all, > > I'm trying to build a ResourceLink to a JRResource but there's a > Serialization exception going on. Here is the snippet code: > > final ServletContext context = ((WebApplication) > getApplication()).getServletContext(); > final File reportFile = new > File(context.getRealPath("/reports/employeeReport.jasper")); > > final Map parameters = new HashMap(); > parameters.put("BaseDir", new File(context.getRealPath("/reports"))); > JRResource pdfResource = new JRConcreteResource(reportFile, new > PdfResourceHandler()).setReportParameters( > parameters).setReportDataSource(new > JRBeanCollectionDataSource(service.listAll())); > > add(new ResourceLink("linkToPdf", pdfResource)); > > The service variable is a @SpringBean. > > Any idea anyone? (Eelco, specially... who wrote jasper integration on > wicketstuff)... > > :-) > > Best regards, > > Bruno Borges > www.brunoborges.com.br > +55 21 76727099 > > "The glory of great men should always be > measured by the means they have used to > acquire it." > - Francois de La Rochefoucauld > >
JasperReports Serialization error with JRDataSource
Hey all, I'm trying to build a ResourceLink to a JRResource but there's a Serialization exception going on. Here is the snippet code: final ServletContext context = ((WebApplication) getApplication()).getServletContext(); final File reportFile = new File(context.getRealPath("/reports/employeeReport.jasper")); final Map parameters = new HashMap(); parameters.put("BaseDir", new File(context.getRealPath("/reports"))); JRResource pdfResource = new JRConcreteResource(reportFile, new PdfResourceHandler()).setReportParameters( parameters).setReportDataSource(new JRBeanCollectionDataSource(service.listAll())); add(new ResourceLink("linkToPdf", pdfResource)); The service variable is a @SpringBean. Any idea anyone? (Eelco, specially... who wrote jasper integration on wicketstuff)... :-) Best regards, Bruno Borges www.brunoborges.com.br +55 21 76727099 "The glory of great men should always be measured by the means they have used to acquire it." - Francois de La Rochefoucauld
RE: Strange Serialization Error
Yup - very true; I hadn't noticed that. All sorts of casts in the .equals that didn't validate that the inbound object was even of the same type. Fixed that and magically it went away. Thanks! -Original Message- From: Pedro Santos [mailto:pedros...@gmail.com] Sent: January-30-11 8:28 PM To: users@wicket.apache.org Subject: Re: Strange Serialization Error The error is in PivotConfiguration equals method implementation. It is possible trying to convert the object being tested to an PivotConfiguration to test its properties, but you can't assume that only PivotConfiguration objects will to be tested on this method. On Sun, Jan 30, 2011 at 6:42 PM, Michael Laccetti wrote: > Pastebin link to the stack: http://pastebin.com/NGzaaVTg > > I've done as much searching online to see if anybody else had this > error, but I've come up empty. I was originally using 1.4.14 but have > switched to see if 1.4.15 fixed it (nope). Anybody have any ideas? > > Michael > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Pedro Henrique Oliveira dos Santos - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Strange Serialization Error
The error is in PivotConfiguration equals method implementation. It is possible trying to convert the object being tested to an PivotConfiguration to test its properties, but you can't assume that only PivotConfiguration objects will to be tested on this method. On Sun, Jan 30, 2011 at 6:42 PM, Michael Laccetti wrote: > Pastebin link to the stack: http://pastebin.com/NGzaaVTg > > I've done as much searching online to see if anybody else had this error, > but I've come up empty. I was originally using 1.4.14 but have switched to > see if 1.4.15 fixed it (nope). Anybody have any ideas? > > Michael > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Pedro Henrique Oliveira dos Santos
Strange Serialization Error
Pastebin link to the stack: http://pastebin.com/NGzaaVTg I've done as much searching online to see if anybody else had this error, but I've come up empty. I was originally using 1.4.14 but have switched to see if 1.4.15 fixed it (nope). Anybody have any ideas? Michael - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ClassLoader (Serialization?) error
ttp.WicketFilter.doFilter(WicketFilter.java:200) at net.gencat.accesnet.portal.application.ANetFilter.doFilter(ANetFilter.java:37) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 2010-03-15 20:38:58,509 ERROR ap18_s1_IX_II [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] org.apache.wicket.request.target.resource.SharedResourceRequestTarget 359167|RGCZLpMSQGtMyQvz53HrwSsxrS9cGrRJQGyp8dJNNz3xTpHv8QpW!-469065994! 1268681938...@192.168.131.143 - shared resource mypac%3C/a%3E%3C/h4%3E%20%20%20%20%3Cdiv%20id= not found2010-03-15 20:38:58,509 ERROR ap18_s1_IX_II [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] org.apache.wicket.request.target.resource.SharedResourceRequestTarget 359167|RGCZLpMSQGtMyQvz53HrwSsxrS9cGrRJQGyp8dJNNz3xTpHv8QpW!-469065994! 1268681938...@192.168.131.143 - shared resource mypac%3C/a%3E%3C/h4%3E%20%20%20%20%3Cdiv%20id= not found 2010/3/15 Jonas > I guess you use that panel somewhere on a page near a shared resource, > maybe for an Image, > have you tried debugging the rendering of that page? > > A side note, probably totally unrelated to your problem: > having 'head' tags inside a wicket:panel will probably result in > invalid html, you > should consider using wicket:head instead (see: > http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html) > > cheers, > Jonas > > On Mon, Mar 15, 2010 at 10:11 AM, Xavier López wrote: > > I agree it's not a classloader issue, the classloader is being given a > > cobbled class name, so it's not its fault it cannot load it. > > > > Is it possible that due to some serialization error the class name gets > > messed with the html markup, so that the class name read in > deserialization > > ends messed up ? > > > > I don't see where can this be messing with comments, here is the markup > file > > (the only one with "fi usuari" in it) > > > > > > > > > > type="text/javascript"> > > > > > > > > > > > > > key="userpanel.nomusuari.wai"/> > wicket:id="nomUsuari"> > > > wicket:message="title:userpanel.editusuari.title"> > key="userpanel.editusuari.text"/> > > > wicket:message="title:userpanel.homeadmin.title"> > key="userpanel.homeadmin.text"/> > > > > > > > wicket:message="title:userpanel.fisessio.title" > > wicket:id="linkFiSessio"> key="userpanel.desconnecta"/> > class="wai"> > key="userpanel.fisessio.text.wai"/> > > > > > > > > > > > > > > > > > > Thanks for all your responses ! > > Xavier > > > > 2010/3/14 Jonas > > > >> As stated in my previous mail, I really doubt this is a classloader > >> issue, since the class name is > >> 'mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C' > >> which decodes to > >> 'mypackage.MyClass- fi usuari --> <' > >> which obviously isn't just a class name, but a class name > >> plus some 'garbage', which will make any classloader choke. > >> > >> 2010/3/13 François Meillet : > >> > sounds like a classloading effect. > >> > > >> > Have a look to the classloader hierarchy > >> > > >> > Here is a good doc: > >> > > >> > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html > >> > > >> > Especially this one : Resource Loading Order > >> > > >> > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1097288 > >> > > >> > François > >> > > >> > > >> > Le 12 mars 2010 à 17:30, Igor Vaynb
Re: ClassLoader (Serialization?) error
I guess you use that panel somewhere on a page near a shared resource, maybe for an Image, have you tried debugging the rendering of that page? A side note, probably totally unrelated to your problem: having 'head' tags inside a wicket:panel will probably result in invalid html, you should consider using wicket:head instead (see: http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html) cheers, Jonas On Mon, Mar 15, 2010 at 10:11 AM, Xavier López wrote: > I agree it's not a classloader issue, the classloader is being given a > cobbled class name, so it's not its fault it cannot load it. > > Is it possible that due to some serialization error the class name gets > messed with the html markup, so that the class name read in deserialization > ends messed up ? > > I don't see where can this be messing with comments, here is the markup file > (the only one with "fi usuari" in it) > > > > > > > > > > > key="userpanel.nomusuari.wai"/> wicket:id="nomUsuari"> > wicket:message="title:userpanel.editusuari.title"> key="userpanel.editusuari.text"/> > wicket:message="title:userpanel.homeadmin.title"> key="userpanel.homeadmin.text"/> > > > wicket:message="title:userpanel.fisessio.title" > wicket:id="linkFiSessio"> class="wai"> key="userpanel.fisessio.text.wai"/> > > > > > > > > > Thanks for all your responses ! > Xavier > > 2010/3/14 Jonas > >> As stated in my previous mail, I really doubt this is a classloader >> issue, since the class name is >> 'mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C' >> which decodes to >> 'mypackage.MyClass- fi usuari --> <' >> which obviously isn't just a class name, but a class name >> plus some 'garbage', which will make any classloader choke. >> >> 2010/3/13 François Meillet : >> > sounds like a classloading effect. >> > >> > Have a look to the classloader hierarchy >> > >> > Here is a good doc: >> > >> http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html >> > >> > Especially this one : Resource Loading Order >> > >> http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1097288 >> > >> > François >> > >> > >> > Le 12 mars 2010 à 17:30, Igor Vaynberg a écrit : >> > >> >> ive seen this once before on the list. also with weblogic i think. >> >> search the list. >> >> >> >> -igor >> >> >> >> On Fri, Mar 12, 2010 at 3:16 AM, Xavier López >> wrote: >> >>> Hi, >> >>> >> >>> From time to time I see the following error in my deployed >> application's >> >>> log. The application is running clustered on Weblogic 9.2 MP3. >> >>> >> >>> It seems to be messing up with the classloading of class >> mypackage.MyClass >> >>> (this error comes up in many different classes). I can guess from the >> stack >> >>> trace that something is going wrong maybe serializing that page, it can >> be >> >>> seen that the class name is being messed with some content of the page >> (div >> >>> tags, text displayed in the page,...). >> >>> >> >>> Has anyone been in this situation before ? Any tip on how to address >> the >> >>> issue ? >> >>> >> >>> 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: >> '2' for >> >>> queue: 'weblogic.kernel.Default (self-tuning)'] >> >>> org.apache.wicket.request.target.resource.SharedResourceRequestTarget >> >>> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! >> >>> 1268343057...@192.168.131.142 - unable to lazily register shared >> resource >> >>> mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= >> >>> java.lang.ClassNotFoundException: >> >>> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C >> >>> at >> >>> >> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) >> >>> at >> >>> >> weblogic.utils.classloaders.GenericClassLoader.findClass(G
Re: ClassLoader (Serialization?) error
I agree it's not a classloader issue, the classloader is being given a cobbled class name, so it's not its fault it cannot load it. Is it possible that due to some serialization error the class name gets messed with the html markup, so that the class name read in deserialization ends messed up ? I don't see where can this be messing with comments, here is the markup file (the only one with "fi usuari" in it) Thanks for all your responses ! Xavier 2010/3/14 Jonas > As stated in my previous mail, I really doubt this is a classloader > issue, since the class name is > 'mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C' > which decodes to > 'mypackage.MyClass- fi usuari --> <' > which obviously isn't just a class name, but a class name > plus some 'garbage', which will make any classloader choke. > > 2010/3/13 François Meillet : > > sounds like a classloading effect. > > > > Have a look to the classloader hierarchy > > > > Here is a good doc: > > > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html > > > > Especially this one : Resource Loading Order > > > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1097288 > > > > François > > > > > > Le 12 mars 2010 à 17:30, Igor Vaynberg a écrit : > > > >> ive seen this once before on the list. also with weblogic i think. > >> search the list. > >> > >> -igor > >> > >> On Fri, Mar 12, 2010 at 3:16 AM, Xavier López > wrote: > >>> Hi, > >>> > >>> From time to time I see the following error in my deployed > application's > >>> log. The application is running clustered on Weblogic 9.2 MP3. > >>> > >>> It seems to be messing up with the classloading of class > mypackage.MyClass > >>> (this error comes up in many different classes). I can guess from the > stack > >>> trace that something is going wrong maybe serializing that page, it can > be > >>> seen that the class name is being messed with some content of the page > (div > >>> tags, text displayed in the page,...). > >>> > >>> Has anyone been in this situation before ? Any tip on how to address > the > >>> issue ? > >>> > >>> 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: > '2' for > >>> queue: 'weblogic.kernel.Default (self-tuning)'] > >>> org.apache.wicket.request.target.resource.SharedResourceRequestTarget > >>> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! > >>> 1268343057...@192.168.131.142 - unable to lazily register shared > resource > >>> mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= > >>> java.lang.ClassNotFoundException: > >>> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C > >>>at > >>> > weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) > >>>at > >>> > weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) > >>>at > >>> > weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) > >>>at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > >>>at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > >>>at > >>> > weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) > >>>at > >>> > weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) > >>>at > >>> > org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) > >>>at > >>> > org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) > >>>at > >>> > org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) > >>>at > >>> > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) > >>>at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) > >>>at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) > >>>at o
Re: ClassLoader (Serialization?) error
As stated in my previous mail, I really doubt this is a classloader issue, since the class name is 'mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C' which decodes to 'mypackage.MyClass- fi usuari --> <' which obviously isn't just a class name, but a class name plus some 'garbage', which will make any classloader choke. 2010/3/13 François Meillet : > sounds like a classloading effect. > > Have a look to the classloader hierarchy > > Here is a good doc: > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html > > Especially this one : Resource Loading Order > http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1097288 > > François > > > Le 12 mars 2010 à 17:30, Igor Vaynberg a écrit : > >> ive seen this once before on the list. also with weblogic i think. >> search the list. >> >> -igor >> >> On Fri, Mar 12, 2010 at 3:16 AM, Xavier López wrote: >>> Hi, >>> >>> From time to time I see the following error in my deployed application's >>> log. The application is running clustered on Weblogic 9.2 MP3. >>> >>> It seems to be messing up with the classloading of class mypackage.MyClass >>> (this error comes up in many different classes). I can guess from the stack >>> trace that something is going wrong maybe serializing that page, it can be >>> seen that the class name is being messed with some content of the page (div >>> tags, text displayed in the page,...). >>> >>> Has anyone been in this situation before ? Any tip on how to address the >>> issue ? >>> >>> 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for >>> queue: 'weblogic.kernel.Default (self-tuning)'] >>> org.apache.wicket.request.target.resource.SharedResourceRequestTarget >>> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! >>> 1268343057...@192.168.131.142 - unable to lazily register shared resource >>> mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= >>> java.lang.ClassNotFoundException: >>> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C >>> at >>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) >>> at >>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) >>> at >>> weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>> at >>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) >>> at >>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) >>> at >>> org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) >>> at >>> org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) >>> at >>> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) >>> at >>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) >>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) >>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) >>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) >>> at >>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) >>> at >>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) >>> at mypacakge.MyFilter.doFilter(ANetFilter.java:37) >>> at >>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) >>> at >>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) >>> at >>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >>> at >>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >>> at >>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) >>> at >>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) >>> at >>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) >>> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) >>> at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) >>> 2010-03-11 22:31:10,511 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for >>> queue: 'weblogic.kernel.Default (self-tuning)'] >>> org.apache.wicket.request.target.resource.SharedResourceRequestTarget >>> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! >>> 1268343057...@192.168.131.142 - shared resource >>> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= not >>> found >>> >>> Thanks, >>> Xavier >>> >> >> - >> To unsubs
Re: ClassLoader (Serialization?) error
sounds like a classloading effect. Have a look to the classloader hierarchy Here is a good doc: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html Especially this one : Resource Loading Order http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html#wp1097288 François Le 12 mars 2010 à 17:30, Igor Vaynberg a écrit : > ive seen this once before on the list. also with weblogic i think. > search the list. > > -igor > > On Fri, Mar 12, 2010 at 3:16 AM, Xavier López wrote: >> Hi, >> >> From time to time I see the following error in my deployed application's >> log. The application is running clustered on Weblogic 9.2 MP3. >> >> It seems to be messing up with the classloading of class mypackage.MyClass >> (this error comes up in many different classes). I can guess from the stack >> trace that something is going wrong maybe serializing that page, it can be >> seen that the class name is being messed with some content of the page (div >> tags, text displayed in the page,...). >> >> Has anyone been in this situation before ? Any tip on how to address the >> issue ? >> >> 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for >> queue: 'weblogic.kernel.Default (self-tuning)'] >> org.apache.wicket.request.target.resource.SharedResourceRequestTarget >> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! >> 1268343057...@192.168.131.142 - unable to lazily register shared resource >> mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= >> java.lang.ClassNotFoundException: >> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C >>at >> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) >>at >> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) >>at >> weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) >>at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >>at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>at >> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) >>at >> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) >>at >> org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) >>at >> org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) >>at >> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) >>at >> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) >>at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) >>at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) >>at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) >>at >> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) >>at >> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) >>at mypacakge.MyFilter.doFilter(ANetFilter.java:37) >>at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) >>at >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) >>at >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >>at >> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >>at >> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) >>at >> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) >>at >> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) >>at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) >>at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) >> 2010-03-11 22:31:10,511 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for >> queue: 'weblogic.kernel.Default (self-tuning)'] >> org.apache.wicket.request.target.resource.SharedResourceRequestTarget >> 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! >> 1268343057...@192.168.131.142 - shared resource >> mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= not >> found >> >> Thanks, >> Xavier >> > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ClassLoader (Serialization?) error
ive seen this once before on the list. also with weblogic i think. search the list. -igor On Fri, Mar 12, 2010 at 3:16 AM, Xavier López wrote: > Hi, > > From time to time I see the following error in my deployed application's > log. The application is running clustered on Weblogic 9.2 MP3. > > It seems to be messing up with the classloading of class mypackage.MyClass > (this error comes up in many different classes). I can guess from the stack > trace that something is going wrong maybe serializing that page, it can be > seen that the class name is being messed with some content of the page (div > tags, text displayed in the page,...). > > Has anyone been in this situation before ? Any tip on how to address the > issue ? > > 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for > queue: 'weblogic.kernel.Default (self-tuning)'] > org.apache.wicket.request.target.resource.SharedResourceRequestTarget > 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! > 1268343057...@192.168.131.142 - unable to lazily register shared resource > mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= > java.lang.ClassNotFoundException: > mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C > at > weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) > at > weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) > at > weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) > at > weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) > at > org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) > at > org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) > at mypacakge.MyFilter.doFilter(ANetFilter.java:37) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) > at > weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) > at > weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > 2010-03-11 22:31:10,511 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for > queue: 'weblogic.kernel.Default (self-tuning)'] > org.apache.wicket.request.target.resource.SharedResourceRequestTarget > 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! > 1268343057...@192.168.131.142 - shared resource > mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= not > found > > Thanks, > Xavier > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: ClassLoader (Serialization?) error
Looks like a resource called 'mypackage.MyClass fi usuari --> behind. So, I guess you don't have a ClassLoader issue here, nor a Serialization issue. cheers, Jonas On Fri, Mar 12, 2010 at 12:16 PM, Xavier López wrote: > Hi, > > From time to time I see the following error in my deployed application's > log. The application is running clustered on Weblogic 9.2 MP3. > > It seems to be messing up with the classloading of class mypackage.MyClass > (this error comes up in many different classes). I can guess from the stack > trace that something is going wrong maybe serializing that page, it can be > seen that the class name is being messed with some content of the page (div > tags, text displayed in the page,...). > > Has anyone been in this situation before ? Any tip on how to address the > issue ? > > 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for > queue: 'weblogic.kernel.Default (self-tuning)'] > org.apache.wicket.request.target.resource.SharedResourceRequestTarget > 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! > 1268343057...@192.168.131.142 - unable to lazily register shared resource > mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= > java.lang.ClassNotFoundException: > mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C > at > weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) > at > weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) > at > weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) > at > weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) > at > org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) > at > org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) > at mypacakge.MyFilter.doFilter(ANetFilter.java:37) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) > at > weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) > at > weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > 2010-03-11 22:31:10,511 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for > queue: 'weblogic.kernel.Default (self-tuning)'] > org.apache.wicket.request.target.resource.SharedResourceRequestTarget > 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! > 1268343057...@192.168.131.142 - shared resource > mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= not > found > > Thanks, > Xavier > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
ClassLoader (Serialization?) error
Hi, >From time to time I see the following error in my deployed application's log. The application is running clustered on Weblogic 9.2 MP3. It seems to be messing up with the classloading of class mypackage.MyClass (this error comes up in many different classes). I can guess from the stack trace that something is going wrong maybe serializing that page, it can be seen that the class name is being messed with some content of the page (div tags, text displayed in the page,...). Has anyone been in this situation before ? Any tip on how to address the issue ? 2010-03-11 22:31:10,506 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] org.apache.wicket.request.target.resource.SharedResourceRequestTarget 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! 1268343057...@192.168.131.142 - unable to lazily register shared resource mypackage.MyClass%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= java.lang.ClassNotFoundException: mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:289) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:262) at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:161) at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) at org.apache.wicket.application.DefaultClassResolver.resolveClass(DefaultClassResolver.java:103) at org.apache.wicket.request.target.resource.SharedResourceRequestTarget.respond(SharedResourceRequestTarget.java:149) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1181) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1252) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) at mypacakge.MyFilter.doFilter(ANetFilter.java:37) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2010) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 2010-03-11 22:31:10,511 ERROR ap16_s1_IX_II [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] org.apache.wicket.request.target.resource.SharedResourceRequestTarget 579910|vJS0LZhR01NKqxLWh6QbpWm77g3jHJ96Y4GYV6KB996NfHnHLb5t!-619140133! 1268343057...@192.168.131.142 - shared resource mypackage.MyClass-%20fi%20usuari%20--%3E%20%20%3C/div%3E%3Cdiv%20id= not found Thanks, Xavier
Re: Serialization Error
comparator does not extend serializable. make an inner class that extends serializable. -igor On Tue, Nov 3, 2009 at 11:27 PM, Douglas Ferguson wrote: > I'm getting a serialization error in my logs: > > Nov 03 23:00:01 ERROR [TP-Processor34] lang.Objects - Error serializing > object class com.conducive.ui.userPages.monitor.manage.MonitorsManagePage > [object=[Page class = > com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, id = 120, > version = 0, ajax = 4]] > org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: > Unable to serialize class: > com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1 > Field hierarchy is: > 120 [class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, > path=120] > java.lang.Object org.apache.wicket.Component.data > [class=[Ljava.lang.Object;] > private org.apache.wicket.markup.html.IHeaderContributor > org.apache.wicket.behavior.HeaderContributor.headerContributor[7] > [class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1] > final org.apache.wicket.Component > com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1.val$leftList > [class=org.apache.wicket.markup.html.WebMarkupContainer, > path=120:contentPart:leftList] > private java.lang.Object org.apache.wicket.MarkupContainer.children > [class=com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1, > path=120:contentPart:leftList:topicBlocks] > final java.util.List > com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted > [class=java.util.ArrayList] > final java.util.List > com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted[write:1] > > [class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup] > private final java.util.Set > com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors > [class=java.util.TreeSet] > private final java.util.Set > com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors[write:1] > > [class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1] > <- field that is not serializable > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346) > at > org.apache.wicket.util.io.SerializableChecker.access$500(SerializableChecker.java:63) > at > org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:494) > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > > It seems to be complaining about this: > > private final Set monitors = new TreeSet(new > Comparator() { > > @Override > public int compare(Monitor o1, Monitor o2) { > return o1.getDescription().compareTo(o2.getDescription()); > } > > > > }); > > Shouldn't a comparator for a serializable also be serializable? > > If this is in face not serializable, how do I work around this? > > D/ > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Serialization Error
I'm getting a serialization error in my logs: Nov 03 23:00:01 ERROR [TP-Processor34] lang.Objects - Error serializing object class com.conducive.ui.userPages.monitor.manage.MonitorsManagePage [object=[Page class = com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, id = 120, version = 0, ajax = 4]] org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1 Field hierarchy is: 120 [class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, path=120] java.lang.Object org.apache.wicket.Component.data [class=[Ljava.lang.Object;] private org.apache.wicket.markup.html.IHeaderContributor org.apache.wicket.behavior.HeaderContributor.headerContributor[7] [class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1] final org.apache.wicket.Component com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1.val$leftList [class=org.apache.wicket.markup.html.WebMarkupContainer, path=120:contentPart:leftList] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1, path=120:contentPart:leftList:topicBlocks] final java.util.List com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted [class=java.util.ArrayList] final java.util.List com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted[write:1] [class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup] private final java.util.Set com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors [class=java.util.TreeSet] private final java.util.Set com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors[write:1] [class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1] <- field that is not serializable at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346) at org.apache.wicket.util.io.SerializableChecker.access$500(SerializableChecker.java:63) at org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:494) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.writeObject(Unknown Source) It seems to be complaining about this: private final Set monitors = new TreeSet(new Comparator() { @Override public int compare(Monitor o1, Monitor o2) { return o1.getDescription().compareTo(o2.getDescription()); } }); Shouldn't a comparator for a serializable also be serializable? If this is in face not serializable, how do I work around this? D/