Text field "name" in "logicalEntityForm" has an PropertyModel targeting a
DetailSearchCriteria, this class has the field "detailParam" of type
DetailParam, and DetailParam has the field "names" of a not serializable
property type: List
A lot of List implementations are serializable, but the one at
the DetailParam is not.

On Fri, Feb 25, 2011 at 12:38 PM, Martin Grigorov <[email protected]>wrote:

> There are no changes in Wicket related to the serialization checks.
> There were some improvements in latest 1.4.x and 1.5.x code.
> From which 1.4.x version exactly did you upgrade to 1.5 ?
>
> About 'switch off' -
> see getApplication().getPageManager().supportsVersioning().
> Better see how to avoid serializing the DB content than switching off
> serialization.
>
> On Fri, Feb 25, 2011 at 5:30 PM, Zhubin Salehi <[email protected]> wrote:
>
> >
> > Hi,
> >
> > Since I migrated to Wicket 1.5 I get exceptions like this in my log file:
> >
> > 2011-02-25 10:28:07,234 [http-8080-Processor21] ERROR
> > org.apache.wicket.util.lang.WicketObjects - Error serializing object
> class
> > com.route1.mobi.map3.web.pages.assemblage.FindHost [object=[Page class =
> > com.route1.mobi.map3.web.pages.assemblage.FindHost, id = 5, render count
> =
> > 1]]
> >
> >
> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> > Unable to serialize class: $java.util.List$$EnhancerByCGLIB$$d1658214
> > Field hierarchy is:
> >  5 [class=com.route1.mobi.map3.web.pages.assemblage.FindHost, path=5]
> >    private java.lang.Object org.apache.wicket.MarkupContainer.children
> > [class=[Ljava.lang.Object;]
> >      private java.lang.Object
> org.apache.wicket.MarkupContainer.children[6]
> > [class=com.route1.mobi.map3.web.pages.assemblage.FindHost$HostForm,
> > path=5:logicalEntityForm]
> >        private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> > [class=[Ljava.lang.Object;]
> >          private java.lang.Object
> > org.apache.wicket.MarkupContainer.children[0]
> > [class=org.apache.wicket.markup.html.WebMarkupContainer,
> > path=5:logicalEntityForm:mainTable]
> >            private java.lang.Object
> > org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
> >              private java.lang.String
> > org.apache.wicket.markup.html.form.FormComponent.typeName[2]
> > [class=org.apache.wicket.markup.html.form.TextField,
> > path=5:logicalEntityForm:mainTable:name]
> >                java.lang.Object org.apache.wicket.Component.data
> > [class=org.apache.wicket.model.PropertyModel]
> >                  private java.lang.Object
> > org.apache.wicket.model.AbstractPropertyModel.target
> >
> >
> [class=com.route1.mobi.dao.model.AssemblageItemSearchCriteria$DetailSearchCriteria]
> >                    private com.route1.mobi.model.DetailParam
> >
> >
> com.route1.mobi.dao.model.AssemblageItemSearchCriteria$DetailSearchCriteria.detailParam
> > [class=com.route1.mobi.model.DetailParam]
> >                      private java.util.List
> > com.route1.mobi.model.DetailParam.names
> > [class=$java.util.List$$EnhancerByCGLIB$$d1658214] <----- field that is
> not
> > serializable
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:387)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:432)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:432)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:432)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:647)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:570)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:366)
> >        at
> >
> >
> org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:716)
> >        at
> > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
> >        at
> >
> >
> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129)
> >        at
> > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
> >        at
> >
> >
> org.apache.wicket.util.lang.WicketObjects.objectToByteArray(WicketObjects.java:482)
> >        at
> >
> >
> org.apache.wicket.pageStore.DefaultPageStore.serializePage(DefaultPageStore.java:364)
> >        at
> >
> >
> org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:153)
> >        at
> >
> >
> org.apache.wicket.page.PersistentPageManager$PersitentRequestAdapter.storeTouchedPages(PersistentPageManager.java:335)
> >        at
> >
> >
> org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:185)
> >        at
> >
> >
> org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:98)
> >        at
> >
> >
> org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:68)
> >        at
> >
> >
> org.apache.wicket.page.PageAccessSynchronizer$1.commitRequest(PageAccessSynchronizer.java:203)
> >        at org.apache.wicket.Application$2.onDetach(Application.java:1521)
> >        at
> >
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:99)
> >        at
> >
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:95)
> >        at
> >
> >
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:79)
> >        at
> >
> >
> org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:93)
> >        at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:538)
> >        at
> >
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:479)
> >        at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:257)
> >        at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:138)
> >        at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> >        at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> >        at
> >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> >        at
> >
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> >        at
> >
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> >        at
> >
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >        at
> >
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> >        at
> >
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> >        at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> >        at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
> >        at
> >
> >
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> >        at
> >
> >
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> >        at
> >
> >
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> >        at
> >
> >
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> >        at java.lang.Thread.run(Thread.java:595)
> > Caused by: java.io.NotSerializableException:
> > $java.util.List$$EnhancerByCGLIB$$d1658214
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
> >        at
> >
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> >        at
> > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> >        at
> >
> >
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> >        at
> > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> >        at
> > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> >        at
> >
> >
> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
> >        ... 33 more
> >
> > I understand that iBATIS uses CGLIB for lazy loading and CGLIB generates
> > classes that are not serializable, what I don’t understand is that why I
> > didn’t get these exceptions in 1.4? Is there a way to turn off page
> > serialization?
> >
> > Thanks,
> > Zhubin
> >
> > --
> > View this message in context:
> >
> http://apache-wicket.1842946.n4.nabble.com/NotSerializableException-in-Wicket-1-5-tp3324650p3324650.html
> > Sent from the Users forum mailing list archive at Nabble.com.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>



-- 
Pedro Henrique Oliveira dos Santos

Reply via email to