Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4-RC2
-
None
-
None
-
Solaris/JDK6u10 Jetty clustered session store.
Description
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()
}));
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()
}
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?