01: package org.hibernate.transaction;
02:
03: import java.util.Properties;
04:
05: import javax.transaction.TransactionManager;
06:
07: import org.hibernate.HibernateException;
08:
09: /**
10: * TransactionManager lookup strategy for JOTM
11: * @author Low Heng Sin
12: */
13: public class JOTMTransactionManagerLookup implements
14: TransactionManagerLookup {
15:
16: /**
17: * @see org.hibernate.transaction.TransactionManagerLookup#getTransactionManager(Properties)
18: */
19: public TransactionManager getTransactionManager(Properties props)
20: throws HibernateException {
21: try {
22: Class clazz = Class.forName("org.objectweb.jotm.Current");
23: return (TransactionManager) clazz.getMethod(
24: "getTransactionManager", null).invoke(null, null);
25: } catch (Exception e) {
26: throw new HibernateException(
27: "Could not obtain JOTM transaction manager instance",
28: e);
29: }
30: }
31:
32: public String getUserTransactionName() {
33: return "java:comp/UserTransaction";
34: }
35:
36: }
|