[Mulgara-svn] r650 - branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver

ronald at mulgara.org ronald at mulgara.org
Sat Feb 23 09:19:32 UTC 2008


Author: ronald
Date: 2008-02-23 01:19:31 -0800 (Sat, 23 Feb 2008)
New Revision: 650

Modified:
   branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java
Log:
Fix memory leak: the xaResources map was never releasing the sessions and the
associated resource-contexts.


Modified: branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java
===================================================================
--- branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java	2008-02-23 05:55:06 UTC (rev 649)
+++ branches/mgr-73/src/jar/resolver/java/org/mulgara/resolver/MulgaraExternalTransactionFactory.java	2008-02-23 09:19:31 UTC (rev 650)
@@ -23,6 +23,7 @@
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import java.util.WeakHashMap;
 import javax.transaction.xa.XAResource;
 import javax.transaction.xa.Xid;
 
@@ -60,7 +61,7 @@
 
     this.associatedTransaction = new HashMap<DatabaseSession, MulgaraExternalTransaction>();
     this.sessionXAMap = new Assoc1toNMap<DatabaseSession, MulgaraExternalTransaction>();
-    this.xaResources = new HashMap<DatabaseSession, MulgaraXAResourceContext>();
+    this.xaResources = new WeakHashMap<DatabaseSession, MulgaraXAResourceContext>();
   }
 
   public MulgaraTransaction getTransaction(final DatabaseSession session, boolean write)




More information about the Mulgara-svn mailing list