[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1786?page=c...
]
Reggie Riser commented on HHH-1786:
-----------------------------------
We're an IBM partner, so we escalated this issue up the IBM support chain until we got
feedback from the WebSphere Transaction Architect. His take is that WebSphere is
complying with the J2EE spec in this instance, and that this problem should definitely not
be considered a bug in WebSphere. He said the workaround was OK, and suggested that we
lobby Hibernate to integrate it into its codebase.
We've implemented the workaround in our application, but obviously would prefer it be
a part of Hibernate proper. Is there any chance of this happening?
Don't shoot the messenger. We're just developers caught in the middle.
JTASessionContext.CleanupSynch does not remove sessions from
currentSessionMap
------------------------------------------------------------------------------
Key: HHH-1786
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1786
Project: Hibernate3
Issue Type: Improvement
Affects Versions: 3.1.2
Environment: IBM WebSphere 6.0.2.7, Hibernate CVS snapshot from 2006-02-24
Reporter: Tomi Szabo
Attachments: JTASessionContext.java, WebSphereExtendedJTATransactionLookup.java,
WebSphereExtendedJTATransactionLookup.patch.txt
We are using JTASessionContext, CMTTransaction and WebSphereExtendedJTATransactionLookup.
We have experienced some memmory leak problems and after closer inspection we have found
that Hibernate sessions are not removed from currentSessionMap inside JTASessionContext.
Method JTASessionContext.CleanupSynch.afterCompletion() is called as expected but code
"context.currentSessionMap.remove( txn );" does not remove session from Map
because of key's hashcode has changed. This is due to fact that
com.ibm.websphere.jtaextensions.ExtendedJTATransaction.hashCode is actually ID of
underlaying transaction. But if it comes to the afterCompletion method in CleanupSynch the
underlaying transaction is already closed. Closed transaction has ID 0 (default value) and
it is different from ID under which the Hibernate session was previously inserted into
Map.
Possible patch is in attachements.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira