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