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 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user