Hi i am living on the edge ,using wicket 1.5RC5.1 (the latest) and also using the newly released Spring data-jpa project for data access
i do not use or reference PersistenceExceptionTranslationInterceptor directly, actually i never know it is there till i saw that error based on its name it is an interceptor which translate the jpa or jdbc exception to spring's counterpart in AccountManager there is an instance of AccountDAO which use this persistence technology i thought it might be a solution to use kryo serialization as it does not require the object to be serializable, but the site does not recommend using it in production as it is in its early stages and not yet stable Any help please? Thanks Joe On Mon, Aug 1, 2011 at 4:35 AM, Dan Retzlaff <[email protected]> wrote: > Hi Joe, > > Based on the depth of that serialization stack, I doubt it's your > AccountManager proxy that's giving you problems. I usually just breakpoint > NotSerializableException and walk up the stack to find the culprit. Any > change your CreatePage uses a method on AccountManager that returns an > object with PersistenceExceptionTranslationInterceptor, then holds a > reference to it? If so, that'll be a problem since Wicket doesn't know to > proxy that one. > > Dan > > On Sun, Jul 31, 2011 at 5:08 PM, Joe Fawzy <[email protected]> wrote: > > > Hi > > i have a serialization problem with spring > > My CreatePage class looks like:- > > > > public class CreatePage extends WebPage{ > > @SpringBean > > AccountManager accountManager; > > } > > > > as i am using @SpringBean , it should handle creating a serializable > proxy > > for me BUT > > > > i got the following exception > > > > > > > > ERROR - JavaSerializer - Error serializing object class > > com.app.view.account.CreatePage [object=[Page class = > > com.app.view.account.CreatePage, id = 1, render count = 1]] > > java.io.NotSerializableException: > > > org.springframework.dao.support.PersistenceExceptionTranslationInterceptor > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at > > > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) > > at > java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) > > at > > > > > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) > > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) > > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) > > at > > > > > org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:77) > > at > > > > > org.apache.wicket.pageStore.DefaultPageStore.serializePage(DefaultPageStore.java:356) > > at > > > > > org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:142) > > at > > > > > org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.storeTouchedPages(PageStoreManager.java:377) > > at > > > > > org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:171) > > at > > > > > org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:94) > > at > > > > > org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:68) > > at > > > > > org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:213) > > at org.apache.wicket.Application$2.onDetach(Application.java:1548) > > at > > > > > org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:100) > > at > > > > > org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:96) > > at > > > > > org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:121) > > at > > > > > org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:112) > > at > > > > > org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:94) > > at > > > > > org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:540) > > 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:160) > > at > > > > > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216) > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > > at > > > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > > at > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > > at > > > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > > at > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) > > at > > > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > > at java.lang.Thread.run(Thread.java:619) > > > > > > So , what is wrong? > > > > is there a work around > > > > thanks > > > > Joe > > >
