myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Kitching (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (ORCHESTRA-14) ConversationManagerSessionListener leak & IllegalStateException
Date Thu, 10 Jan 2008 09:16:34 GMT

    [ 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.


Mime
View raw message