• 分布式事务04JTA+Atomikos


    JTA 接口规范

    一共8个接口:

    XAResource:XA资源管理器接口,RM提供给TM调用。XAResource接口是基于X/Open CAE规范(分布式事务处理:XA规范)的行业标准XA接口的Java映射。
    Xid:Xid接口是X/Open事务标识Xid结构的Java映射。此接口指定三个方法:,分别获取:全局事务的格式化ID、全局事务ID和分支限定符。TM和RM使用Xid接口。此接口对AP和AS都不可见。
    Status:定义事务状态。共指定10个状态
    Synchronization:同步接口。事务同步允许AS在事务完成之前和之后从TM获得通知。
    Transaction:事务定义接口。每个全局事务都与一个事务对象关联。
    TransactionManager:事务管理器。管理事务的全生命周期。
    TransactionSynchronizationRegistry:事务同步注册器。用于系统级AS组件(如持久化管理器)。这提供了注册具有特殊排序语义的同步对象、将资源对象与当前事务关联、获取当前事务的事务上下文、获取当前事务状态以及将当前事务标记为回滚的能力。
    UserTransaction:事务客户端,封装了用户可直接操作事务的接口。
    注意:

    这些接口都不需要开发者去实现:

    XAResource、Xid 由数据库厂商实现。
    TransactionManager、UserTransaction等操作事务相关的接口由AS厂商实现(例如web服务就是jboss、weblogic,或者第三方事务类库jotm、Atomikos)。
    用户只需要使用UserTransaction的实现类来操控事务的创建、提交、回滚即可!当然简单点直接使用注解也是可以的。

    Atomikos

    底层通过Connection执行各项命令, 而Connection是一个JDK动态代理, 在mapper组件prepareStatement的时候, 会根据methodName来拦截执行执行各种方法

    说白了就是封装原先的操作, 原来可能是手动开启的, 自己通过逻辑判断等实现的流转, 现在只需要注解就能实现

    整合JTA, 根据其要求实现对应的接口, 最底层的逻辑是调用JDBC的接口

    https://www.cnblogs.com/dennyzhangdd/p/10638201.html

  • 相关阅读:
    算法——戳气球(最大乘积和)
    算法——股票买卖问题
    算法——最长上升子序列(DP和二分)
    runtime debug sample
    兼顾站点启动与数据安全性
    SQLServer出发器中使用二进制字段
    OutputCache a2过期时间的设置
    wget 163.com
    SQLServer性能优化
    分页控件设计思路
  • 原文地址:https://www.cnblogs.com/richardhaha/p/15949031.html
Copyright © 2020-2023  润新知