Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
See: http://jira.opensymphony.com/browse/WW-1386
With the <distributable /> flag set in the web.xml file and the web application deployed to Tomcat, when the ScopeInterceptor tries to set a null value, which in this case is a ScopeInterceptor.NULL object, there is an exception thrown because this object is not serializable.
The problem seems to be the nullConvert() method which takes the null and makes it an object of an anonymous class, a custom ScopeInterceptor which doesn't do this conversion works fine under these circumstances.
The stack trace is this exception is:
java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1255)
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1233)
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:129)
com.opensymphony.webwork.dispatcher.SessionMap.put(SessionMap.java:161)
com.opensymphony.webwork.interceptor.ScopeInterceptor.beforeResult(ScopeInterceptor.java:324)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
com.atsva.glin.web.SetCharacterEncoding.doFilter(SetCharacterEncoding.java:47)