[ 
https://issues.apache.org/jira/browse/QPID-3806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Weston M. Price resolved QPID-3806.
-----------------------------------

    Resolution: Fixed

Fixed in trunk with provided patch.
                
> QpidRASessionFactoryImpl closeSession() method incorrectly calls remove on 
> HashSet 
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-3806
>                 URL: https://issues.apache.org/jira/browse/QPID-3806
>             Project: Qpid
>          Issue Type: Bug
>          Components: JCA
>         Environment: All OS platforms, Geronimo 2.x AS
>            Reporter: Weston M. Price
>            Assignee: Weston M. Price
>             Fix For: 0.15
>
>         Attachments: QPID-3806.patch
>
>
> Currently in the QpidRASessionFactoryImpl when a session is closed we call 
> _sessions.remove(Session) to remove the Session from the HashSet. This 
> HashSet is used to ensure that we conform to J2EE1.4 6.6 spec where only one 
> session can be created for a connection in a JEE environment. Being that 
> HashSet uses the equals() method to determine if the object is in the set, 
> this does not work for application servers that Proxy the session. As such, 
> the underlying session is never removed from the HashSet and attempting any 
> other operation on the connection fails being that the adapter thinks that 
> multiple sessions exist. Since we only use the HashSet to prevent multiple 
> session creation, we should call _sessions.clear() on a close to ensure the 
> correct behavior.
> Also, any direct use of QpidRASessionImpl should be refactored to use the 
> QpidRASession interface rather than the Impl class as this will cause 
> ClassCastExceptions when used with a Proxy.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to