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]
>
>

Reply via email to