package org.opensource.clearpool.jta; import javax.transaction.HeuristicMixedException; import javax.transaction.HeuristicRollbackException; import javax.transaction.InvalidTransactionException; import javax.transaction.NotSupportedException; import javax.transaction.RollbackException; import javax.transaction.SystemException; import javax.transaction.Transaction; import javax.transaction.UserTransaction; /** * This is a interface for user,and every method invoke will pass to TransactionManagerImpl which is * a singleton. * * Note:it add two method:resume() and suspend() to adapter TransactionManager. * * @author xionghui * @date 16.08.2014 * @version 1.0 */ public class UserTransactionImpl implements UserTransaction { @Override public void begin() throws NotSupportedException, SystemException { TransactionManagerImpl.getManager().begin(); } @Override public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException { TransactionManagerImpl.getManager().commit(); } @Override public int getStatus() throws SystemException { return TransactionManagerImpl.getManager().getStatus(); } @Override public void rollback() throws IllegalStateException, SecurityException, SystemException { TransactionManagerImpl.getManager().rollback(); } @Override public void setRollbackOnly() throws IllegalStateException, SystemException { TransactionManagerImpl.getManager().setRollbackOnly(); } @Override public void setTransactionTimeout(int i) throws SystemException { TransactionManagerImpl.getManager().setTransactionTimeout(i); } public void resume(Transaction tobj) throws InvalidTransactionException, SystemException { TransactionManagerImpl.getManager().resume(tobj); } public Transaction suspend() throws SystemException { return TransactionManagerImpl.getManager().suspend(); } }