Transaction与UserTransaction源码翻译

package javax.transaction;

import javax.transaction.xa.XAResource;
import java.lang.IllegalStateException;
import java.lang.SecurityException;

/**
 * 目的:对事务对象进行事务操作
 * 
 * <p>该接口允许在目标事务对象中对事务执行操作。创建事务对象对应于每个全局事务创建。
 * 事务对象可用于资源注册、同步注册、事务完成和状态查询操作。
 * @author TCM
 * @create 2017年10月30日上午9:44:09
 */
public interface Transaction {

    /**
     * 完成事务对象中的事务
     */
    public void commit() throws RollbackException,
                HeuristicMixedException, HeuristicRollbackException,
                SecurityException, IllegalStateException, SystemException;

    /**
     * 分离事务的资源
     * @param xaRes 与资源相关的XAResource对象
     * @param flag 值有:TMSUCCESS, TMSUSPEND, or TMFAIL.
     * @return 分离成功,返回true;否则,false
     */
    public boolean delistResource(XAResource xaRes, int flag)
        throws IllegalStateException, SystemException;

    /**
     * 资源添加到事务中
     * @param xaRes 与资源相关的XAResource对象
     * @return 添加成功,返回true;否则,false
     */
    public boolean enlistResource(XAResource xaRes)
        throws RollbackException, IllegalStateException,
        SystemException;

    /**
     * 获取事务状态
     * @return Status
     */
    public int getStatus() throws SystemException;

    /**
     * 为当前关联的事务注册一个同步对象。在two-phase(两阶段)事务提交前,事务管理器调用
     * beforeCompletion()方法。事务完成之后,调用afterCompletion()方法。
     * 
     * @param sync Synchronization对象
     */
    public void registerSynchronization(Synchronization sync)
                throws RollbackException, IllegalStateException,
                SystemException;

    /**
     * 事务回滚
     */
	public void rollback() throws IllegalStateException, SystemException;

    /**
     * 修改与目标对象相关的事务,事务的唯一可能的结果是回滚事务。
     */
    public void setRollbackOnly() throws IllegalStateException,
        SystemException;

}
package javax.transaction;

import java.lang.IllegalStateException;
import java.lang.SecurityException;

/**
 * 接口定义应用程序显式管理事务边界的方法。
 * 
 * UserTransaction与Transaction的区别:
 *   Transaction:容器管理事务
 *   UserTransaction:人工管理事务
 * @author TCM
 * @create 2017年10月31日上午9:22:38
 */
public interface UserTransaction {

    /**
     * 创建与当前线程相关的事务
     */
    void begin() throws NotSupportedException, SystemException;

    /**
     * 事务提交。这个方法执行后,线程与事务没有任何关系
     */
    void commit() throws RollbackException,
	HeuristicMixedException, HeuristicRollbackException, SecurityException,
	IllegalStateException, SystemException;

    /**
     * 事务回滚。这个方法执行后,线程与事务没有任何关系
     */
    void rollback() throws IllegalStateException, SecurityException,
        SystemException;

    /**
     * 修改事务。事务的唯一可能的结果是回滚事务。
     */
    void setRollbackOnly() throws IllegalStateException, SystemException;

    /**
     * 获取事务状态
     */
    int getStatus() throws SystemException;

    /**
     * 设置事务超时,单位秒。若超时,将回滚到当前线程的起始方法。
     * 
     * 应用程序没有调用该方法,则有默认值。
     * 若设置为0,超时为默认值。
     *     为负数,则抛出SystemException。
     */
    void setTransactionTimeout(int seconds) throws SystemException;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值