Hi, That's all you need to do to configure your custom ISerializer. DefaultPageStore uses the same instance for serialization and deserialization. Each user session has its own instance of IPageManager that keeps an instance of IPageStore. See org.apache.wicket.DefaultPageManagerProvider.newPageStore(IDataStore)
I don't see how different ISerializer impls can be used. 2011/11/10 Peter Gardfjäll <[email protected]>: > Hi all, > > in my application I register a custom ISerializer implementation in the > WebApplication.init() method as follows: > > @Override > protected void init() { > super.init(); > getFrameworkSettings().setSerializer(new > MySerializer(getApplicationKey())); > ... > > This works as expected during page serialization (that is, my custom > ISerializer.serialize() implementation gets called). > However, it seems as though my ISerializer is _not_ being used during page > deserialization, as can be seen in the error trace below. > As can be seen in the stack trace, the default > *org.apache.wicket.serialize.java.JavaSerializer.deserialize() > method is being called. > > Am I doing anything wrong when setting up my custom ISerializer or is > Wicket failing to honor my framework settings? > > best regards, Peter > > * > java.lang.RuntimeException: Could not deserialize object using: class > org.apache.wicket.serialize.java.JavaSerializer$ClassResolverObjectInputStream > * at > org.apache.wicket.serialize.java.JavaSerializer.deserialize(JavaSerializer.java:137) > * > at > org.apache.wicket.pageStore.DefaultPageStore.deserializePage(DefaultPageStore.java:388) > at > org.apache.wicket.pageStore.DefaultPageStore.getPage(DefaultPageStore.java:127) > at > org.apache.wicket.page.PageStoreManager$SessionEntry.getPage(PageStoreManager.java:192) > at > org.apache.wicket.page.PageStoreManager$PersistentRequestAdapter.getPage(PageStoreManager.java:327) > at > org.apache.wicket.page.AbstractPageManager.getPage(AbstractPageManager.java:102) > at > org.apache.wicket.page.PageManagerDecorator.getPage(PageManagerDecorator.java:50) > at > org.apache.wicket.page.PageAccessSynchronizer$2.getPage(PageAccessSynchronizer.java:232) > at > org.apache.wicket.DefaultMapperContext.getPageInstance(DefaultMapperContext.java:117) > at > org.apache.wicket.request.handler.PageProvider.getStoredPage(PageProvider.java:292) > at > org.apache.wicket.request.handler.PageProvider.isNewPageInstance(PageProvider.java:205) > at > org.apache.wicket.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:339) > at > org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:156) > at > org.apache.wicket.protocol.https.HttpsMapper.mapHandler(HttpsMapper.java:125) > at > org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:401) > at > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:146) > at > org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750) > at > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
