You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2010/08/26 02:06:09 UTC

[jira] Resolved: (WICKET-2138) SecondLevelCache + DiskPageStore Serialization issue with Anonymous inner classes

     [ https://issues.apache.org/jira/browse/WICKET-2138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg resolved WICKET-2138.
-----------------------------------

      Assignee: Igor Vaynberg  (was: Johan Compagner)
    Resolution: Fixed

cannot repro with latest 1.4.x

> SecondLevelCache + DiskPageStore Serialization issue with Anonymous inner classes
> ---------------------------------------------------------------------------------
>
>                 Key: WICKET-2138
>                 URL: https://issues.apache.org/jira/browse/WICKET-2138
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4-RC2
>         Environment: Solaris/JDK6u10  Jetty clustered session store. 
>            Reporter: Victor Igumnov
>            Assignee: Igor Vaynberg
>
> It seems like declaring an anonymous inner class will hold on to the previous page which will break serialization with secondlevelcache  in a clustered environment. 
> ---
> I have run into an odd issue with serialization which throws a stackoverflow exception. Here is the cause:
> Passing an LDM model as-is to a page, it will stackoverflow on the receiving page, if that page is refreshed twice or a form has been submitted.
> Here is an example...
> setResponsePage(new EditBlogPage(new LoadableDetachableModel<Blog>() {
> 	private static final long serialVersionUID = 1L;
> 	@Override
> 	protected Blog load() {
> 		// just an example....
> 		return new Blog();
> 	}
> }));
> However, if I subclass the LDM and pass it like so, it will work just fine.
> public class FakeLDM extends LoadableDetachableModel<Blog> {
> 	private static final long serialVersionUID = 1L;
> 	@Override
> 	protected Blog load() {
> 		return new Blog();
> 	}
> }
> setResponsePage(new EditBlogPage(new FakeLDM()));
> One last thing, If I construct the LDM inside the receiving page. It will work fine as well.
> This seems to only happen with the SecondLevelCache, any ideas?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.