My application uses wicket-spring and I tested kryo-serializer with it while developing it. No problems at all with serializing JDK based proxies or CGLIB based ones. We don't use Spring Data-JPA nor any other kind of JDBC based backend...
On Mon, Aug 1, 2011 at 8:41 AM, Joe Fawzy <joewic...@gmail.com> wrote: > 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 >>> > >>> >> >> > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org