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