TransactionSynchronizationRegistry源码翻译

package javax.transaction;
/**
 * 目的:注入事务同步资源
 * 
 * <p>该接口应用在系统级应用服务器组件上,如:持久化管理器、资源适配器、EJB和Web应用组件。
 * 注册一个与当前事务相关的同步对象。事务上下文获取当前事务、事务的状态、标记事务回滚。
 * 
 * <p>实现该接口的应用程序服务器是无状态的服务对象。相同的对象可以在任意数量的组件与线程安全中使用。
 * 
 * <P>在标准的应用服务环境下,实现该接口的实例可以通过JDNI查找。
 * 标准名称:java:comp/TransactionSynchronizationRegistry
 * @author TCM
 * @create 2017年11月1日下午1:53:47
 * @since  JTA 1.1
 */
public interface TransactionSynchronizationRegistry {

    /**
     * <p>返回一个不透明的对象,表示绑定到当前线程中的事务。该对象覆写hashCode,作为hashMap
     * 的key使用,且允许调用者使用这个map。如果没有当前活动的事务,则返回null。
     * 
     * <P>这个对象将返回相同的hashCode,与来自相同应用服务器下的相同事务上下文环境中任何组件执行
     * 这个方法返回的对象是相同的。
     * 
     * <P>toString方法返回一个字符串,该字符串可以知道语义,以有效地理解事务上下文。否则,这个
     * 字符串没有任何意义。具体来说,对于toString的结果没有向前或向后的兼容性保证。
     * 
     * <P>对象不一定是可序列化的。
     * @since JTA 1.1
     */
    Object getTransactionKey();
    
    //增加或替换对象到资源Map。
    void putResource(Object key, Object value);
    //获取当前线程中事务的资源
    Object getResource(Object key);

    /**
     * <p>注册一个同步实例。它的beforeCompletion方法将在所有的SessionSynchronazation的
     * beforeCompletion回调(这些回调已在事务中进行注册)后、以及两阶段提交进程启动之前被调用。
     * 类似地,afterCompletion方法将在两阶段提交完成前、以及所有的SessionSynchronization
     * 与事务性afterCompletion回调前被调用。
     * 
     * <P>在调用此方法时,绑定到当前线程的事务的事务上下文中调用beforeCompletion回调。允许的方法
     * 包括方法资源,如:连接器。不允许访问用户组件(如:定时器或bean方法),这些可能改变调用者管理的数据
     * 状态,同时另外一个调用者registerInterposedSynchronization清空那些可能改变的数据状态。
     * 
     * <P>没有定义的上下文将调用afterCompletion()方法。不允许访问“用户组件”的定义。这些可以能关闭,
     * 但是没有事务被执行。
     * 
     * <p>如果该方法被调用时,不存在激活的事务上下文,则抛出IllegalStateException异常。
     *
     * <P>如果调用该方法后,两阶段提交进程已经开始,IllegalStateException抛出。
     * @param sync Synchronization实例.
     * @exception IllegalStateException 没有事务被激活
     * @since JTA 1.1
     */
    void registerInterposedSynchronization(Synchronization sync);

    int getTransactionStatus();

    void setRollbackOnly();

    boolean getRollbackOnly();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值