Open Source Repository

Home /hibernate/hibernate-3.2.4.ga | Repository Home


org/hibernate/transaction/JOnASTransactionManagerLookup.java
package org.hibernate.transaction;

import java.util.Properties;

import javax.transaction.TransactionManager;

import org.hibernate.HibernateException;

/**
 * TransactionManager lookup strategy for JOnAS
 @author ?
 */
public class JOnASTransactionManagerLookup implements TransactionManagerLookup {

  /**
   @see org.hibernate.transaction.TransactionManagerLookup#getTransactionManager(Properties)
   */
  public TransactionManager getTransactionManager(Properties propsthrows HibernateException {
    try {
      Class clazz = Class.forName("org.objectweb.jonas_tm.Current");
      return (TransactionManagerclazz.getMethod("getTransactionManager"null).invoke(null, null);
    }
    catch (Exception e) {
      throw new HibernateException"Could not obtain JOnAS transaction manager instance", e );
    }
  }

  public String getUserTransactionName() {
    return "java:comp/UserTransaction";
  }

}