【Java开源代码栏目提醒】:网学会员为需要Java开源代码的朋友们搜集整理了JTATransactionFactory.java相关资料,希望对各位网友有所帮助!
//$Id: JTATransactionFactory.java 8820 2005-12-10 17:25:56Z steveebersole $
package org.hibernate.transaction;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.ConnectionReleaseMode;
import org.hibernate.HibernateException;
import org.hibernate.Transaction;
import org.hibernate.jdbc.JDBCContext;
import org.hibernate.cfg.Environment;
import org.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;
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);
if (utName==null) {
TransactionManagerLookup lookup = TransactionManagerLookupFactory.getTransactionManagerLookup(props);
if (lookup!=null) utName = lookup.getUserTransactionName();
}
if (utName==null) utName = DEFAULT_USER_TRANSACTION_NAME;
}
public Transaction createTransaction(JDBCContext jdbcContext, Context transactionContext)
throws HibernateException {
return new JTATransaction(context, utName, jdbcContext, transactionContext);
}
public ConnectionReleaseMode getDefaultReleaseMode() {
return ConnectionReleaseMode.AFTER_STATEMENT;
}
public boolean isTransactionManagerRequired() {
return false;
}
public boolean areCallbacksLocalToHibernateTransactions() {
return false;
}
}
上一篇:
JtaTransactionConfig.java
下一篇:
:现在要收费的搜猫9.0正式版现在免费分享给大家