Hi actually for testing , i tried using the new kryo-serializer from wicket stuff IT DOES NOT WORK, actually it has many more errors than the default one, actuallly it cannot serialize a JdkDynamicProxy which is the basis for injection If someone have a solution or workaround , please help Thanks Joe
On Mon, Aug 1, 2011 at 8:10 AM, Joe Fawzy <joewic...@gmail.com> 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 <dretzl...@gmail.com> 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 <joewic...@gmail.com> 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 >> > >> > >