If you're talking about second level cache in Hibernate, you only need to adjust the Hibernate transaction lookup classes. There's no need to do any modification to Infinispan transaction manager lookup class because the second level cache integration code injects the transaction manager set for Hibernate into Infinispan. If you start fiddling with Infinispan transaction manager lookup class, chances are it might not get configured correctly.
Add some TRACE for org.infinispan and org.hibernate.cache.infinispan packages and check what's going on. Alternatively, you can debug through the code in org/hibernate/cache/infinispan/InfinispanRegionFactory to see whether the transaction manager is configured correclty.
Thanks for the reply.
We are not using Infinispan here as a second level cache . But as a distributed cache . We have cache manager which update the TreeCache directly. So Infinispan is not used as Hibernate second level cache.
Right, have you tried configuring Infinispan with the generic transaction manager lookup class? i.e. https://github.com/galderz/infinispan/blob/master/core/src/main/java/org/infinispan/transaction/lookup/GenericTransactionManagerLookup.java
That should be able to locate Weblogic's transaction manager which apparently is in "javax.transaction.TransactionManager" JNDI name. Try that and see if it works. I'd assume that Weblogic creates the user transaction out of the same transaction manager, so configuring that transaction manager lookup class should work.
If you enable DEBUG level on org.infinispan package, you should be able to spot whether the weblogic transaction manager was found correctlly.