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