Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1
-
None
-
Servlet Container: Tmax JEUS 5.0 (Fix #17).
The #17 fixes were reported to Tmax by our portal dev team and included the followings:
- JAAS bug fixes.
- Fixes for Spring portlet MVC framework Loading problems.
- Fixes for Webtob's 'URI too long' problem.
I'm going to post installation guide document for that platform later. (I have to translate that.)Servlet Container: Tmax JEUS 5.0 (Fix #17). The #17 fixes were reported to Tmax by our portal dev team and included the followings: - JAAS bug fixes. - Fixes for Spring portlet MVC framework Loading problems. - Fixes for Webtob's 'URI too long' problem. I'm going to post installation guide document for that platform later. (I have to translate that.)
Description
When servlet containers are clustered, ActionValveImpl can throw NullPointerException as follows:
ActionValveImpl.java:initWindow.window.getPortletEntity()[null]
java.lang.NullPointerException
at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.initWindow(ActionValveImpl.java:187)
at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:88)
at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:166)
at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:77)
...
The reason why this symptom occurs is that the cache for portlet windows is shared among containers, but the portlet entity for a portlet window cannot be synchronized among containers.
So, a portlet window can be retrieved from the cache, but its portlet entity can be null.
Therefore, I added a path to check if portlet entity is null, and to refresh the portlet window with validated portlet entity. See my patch.