[jboss-user] [JBoss Portal] - PortletStateHolder
FelderR
do-not-reply at jboss.com
Wed Jun 10 06:08:06 EDT 2009
We are using Jboss Portal 2.7.1, Portletbridge 1.0.0.CR2, Seam 2.1.1 and Richfaces 3.3.1.
We did some bulk tests to get a feeling how many users can be handled by the portal. During the tests we found a memory leak in the class
org.jboss.portletbridge.application.PortletStateHolder!
The class has an inner static class called LRUMap that holds the state of the Portlets using an identifier that consists of mode, sessionid and an uuid. There are 3 methods that cooperate with the LRUMap:
| public void addWindowState(StateId stateId, PortletWindowState state);
| public PortletWindowState getWindowState(StateId stateId);
| private void removeSessionStates(String scopeId);
|
For each request a new window state is added. The problem is that the method removeSessionStates is never called. It should be called from the method
| public void valueUnbound(HttpSessionBindingEvent event)
|
which implements the interface HttpSessionBindingListener, HttpSessionActivationListener
Now I have 3 questions:
1) Where is the SessionBindingEvent registered?
2) What does the class PortletStateHolder do? As I can see it's responsible for holding the state between the different phases in JSF? Is that right?
3) Can I savely remove the states in a filter after each request processing or is it necessary to hold the state within a session?
Thanks Rene
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4236655#4236655
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4236655
More information about the jboss-user
mailing list