ConversationManager instances leak when using OC4J servlet engine -----------------------------------------------------------------
Key: ORCHESTRA-35 URL: https://issues.apache.org/jira/browse/ORCHESTRA-35 Project: MyFaces Orchestra Issue Type: Bug Components: Conversation Affects Versions: 1.3 Reporter: Simon Kitching Priority: Minor As reported by Steve Ronderos, the OC4J servlet container does not call removeAttribute on session attributes when the session is invalidated. This means that the ConversationManagerSessionListener does not remove ConversationManager instances from the ConversationWiperThread when the owning session is destroyed. This is possibly a bug in OC4J; the servlet specs aren't entirely clear what should happen when a session is invalidated but it seems that the HttpSessionBindingListener javadoc does imply that removeAttribute should be called. Apache Tomcat certainly does call removeAttribute (see method StandardSession.removeAttributeInternal for details). Regardless of whether this is a servlet-engine bug or not, this is something that it would be nice to handle. One option would be to use weak references in the ConversationWiperThread. Another would be for ConversationManagerSessionListener to implement the HttpSessionListener interface and use the sessionDestroyed callback to scan for ConversationManager instances and remove them from the wiper thread. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.