[
https://issues.apache.org/jira/browse/ORCHESTRA-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557575#action_12557575
]
Simon Kitching commented on ORCHESTRA-14:
-----------------------------------------
Thomas, which servlet container are you using?
I have tested both Jetty and Tomcat 6.0 and neither throws an
IllegalStateException when session.getId() is called from the attributeRemoved
method while removing attributes from an expired session. The javadocs for the
HttpSession class don't say anything either way about whether it is valid to
call getId on an invalidated session or not.
Point (1) indeed looks right. Good catch..
> ConversationManagerSessionListener leak & IllegalStateException
> ---------------------------------------------------------------
>
> Key: ORCHESTRA-14
> URL: https://issues.apache.org/jira/browse/ORCHESTRA-14
> Project: MyFaces Orchestra
> Issue Type: Bug
> Components: Conversation
> Affects Versions: 1.1
> Environment: tomcat 5
> Reporter: Thomas Spiegl
> Assignee: Thomas Spiegl
> Fix For: 1.1
>
>
> ConversationManagerSessionListener has serveral issues:
> 1) attributeReplaced sets the old instance of conversationManager in
> conversationWiperThread instead of the new one
> 2) on session expire ConversationManagerSessionListener.attributeRemoved is
> getting called and session.getId() throws IllegalStateException
> 3) ConversationManagerSessionListener.sessionDestroyed will throw a
> IllegalStateException as well -> method is useless
> Solution:
> 1) use a unique id for conversationManager instead of session.getId() as a
> key in conversationWiperThread
> 2) remove HttpSessionListener interface from
> ConversationManagerSessionListener
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.