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 JOnAS
11: * @author ?
12: */
13: public class JOnASTransactionManagerLookup 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
23: .forName("org.objectweb.jonas_tm.Current");
24: return (TransactionManager) clazz.getMethod(
25: "getTransactionManager", null).invoke(null, null);
26: } catch (Exception e) {
27: throw new HibernateException(
28: "Could not obtain JOnAS transaction manager instance",
29: e);
30: }
31: }
32:
33: public String getUserTransactionName() {
34: return "java:comp/UserTransaction";
35: }
36:
37: }
|