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]

Reply via email to