Did you put a breakpoint on the serialization exception? I'd guess that
something in your component hierarchy is holding a reference to AccountDAO.
Wicket only proxies @SpringBean annotated variables.

On Sun, Jul 31, 2011 at 10:10 PM, Joe Fawzy <[email protected]> wrote:

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

Reply via email to