[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 

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