Custom ISerializer being used during serialization but _not_ during deserialization

2011-11-10 Thread Peter Gardfjäll
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)


Re: Custom ISerializer being used during serialization but _not_ during deserialization

2011-11-10 Thread Martin Grigorov
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 peter.gardfjall.w...@gmail.com:
 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: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org