📄 jtatransactionfactory.java
字号:
//$Id: JTATransactionFactory.java,v 1.6.2.1 2003/08/26 06:31:18 oneovthafew Exp $package net.sf.hibernate.transaction;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.transaction.TransactionManager;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.util.Properties;import net.sf.hibernate.HibernateException;import net.sf.hibernate.Transaction;import net.sf.hibernate.cfg.Environment;import net.sf.hibernate.engine.SessionImplementor;import net.sf.hibernate.util.NamingHelper;/** * Factory for <tt>JTATransaction</tt>. * @see JTATransaction * @author Gavin King */public class JTATransactionFactory implements TransactionFactory { private static final Log log = LogFactory.getLog(JTATransactionFactory.class); private static final String DEFAULT_USER_TRANSACTION_NAME = "java:comp/UserTransaction"; private InitialContext context; private String utName; private TransactionManager transactionManager; public void configure(Properties props) throws HibernateException { try { context = NamingHelper.getInitialContext(props); } catch (NamingException ne) { log.error("Could not obtain initial context", ne); throw new HibernateException( "Could not obtain initial context", ne ); } utName = props.getProperty(Environment.USER_TRANSACTION); TransactionManagerLookup lookup = TransactionManagerLookupFactory.getTransactionManagerLookup(props); if (lookup!=null) { transactionManager = lookup.getTransactionManager(props); if (utName==null) utName = lookup.getUserTransactionName(); } if (utName==null) utName = DEFAULT_USER_TRANSACTION_NAME; } public Transaction beginTransaction(SessionImplementor session) throws HibernateException { JTATransaction tx = new JTATransaction(session); tx.begin(context, utName, transactionManager); return tx; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -