[jboss-cvs] JBossAS SVN: r77603 - projects/cluster/hibernate-jbc-cacheprovider/trunk/src/main/java/org/jboss/hibernate/jbc/cacheprovider.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 28 12:00:24 EDT 2008


Author: bstansberry at jboss.com
Date: 2008-08-28 12:00:23 -0400 (Thu, 28 Aug 2008)
New Revision: 77603

Modified:
   projects/cluster/hibernate-jbc-cacheprovider/trunk/src/main/java/org/jboss/hibernate/jbc/cacheprovider/TreeCacheProvider.java
Log:
[JBCLUSTER-206] Give preference to resolving the TM the Hibernate way

Modified: projects/cluster/hibernate-jbc-cacheprovider/trunk/src/main/java/org/jboss/hibernate/jbc/cacheprovider/TreeCacheProvider.java
===================================================================
--- projects/cluster/hibernate-jbc-cacheprovider/trunk/src/main/java/org/jboss/hibernate/jbc/cacheprovider/TreeCacheProvider.java	2008-08-28 15:57:32 UTC (rev 77602)
+++ projects/cluster/hibernate-jbc-cacheprovider/trunk/src/main/java/org/jboss/hibernate/jbc/cacheprovider/TreeCacheProvider.java	2008-08-28 16:00:23 UTC (rev 77603)
@@ -29,6 +29,8 @@
 import org.hibernate.cache.Cache;
 import org.hibernate.cache.CacheException;
 import org.hibernate.cache.CacheProvider;
+import org.hibernate.transaction.TransactionManagerLookup;
+import org.hibernate.transaction.TransactionManagerLookupFactory;
 import org.jboss.cache.TreeCache;
 import org.jboss.cache.TreeCacheMBean;
 import org.jboss.logging.Logger;
@@ -58,6 +60,7 @@
    
    private org.jboss.cache.TreeCache cache;
    private boolean optimistic;
+   private TransactionManager transactionManager;
    
    /**
     * Construct and configure the Cache representation of a named cache region.
@@ -143,6 +146,17 @@
 
    protected TransactionManager getTransactionManager(Properties properties)
    {
-      return TransactionManagerLocator.getInstance().locate();
+      if (transactionManager == null)
+      {
+         TransactionManagerLookup transactionManagerLookup = TransactionManagerLookupFactory.getTransactionManagerLookup(properties);
+         if (transactionManagerLookup!=null) {
+             transactionManager = transactionManagerLookup.getTransactionManager(properties);
+         }
+         else
+         {
+            transactionManager = TransactionManagerLocator.getInstance().locate();
+         }
+      }
+      return transactionManager;
    }
 }




More information about the jboss-cvs-commits mailing list