JTA分布式事务

Java事务API(Java Transaction API,简称JTA ) 是一个Java企业版 的应用程序接口,
JTA和它的同胞Java事务服务(JTS;Java TransactionService),为J2EE平台提供了分布式事务服务。不过JTA只是提供了一个接口,并没有提供具体的实现,而是由j2ee服务器提供商 根据JTS规范提供的,常见的JTA实现有以下几种:
(1) J2EE容器所提供的JTA实现(JBoss)
(2) 独立的JTA实现:如JOTM,Atomikos.这些实现可以应用在那些不使用J2EE应用服务器的环境里用以提供分布事事务保证。如Tomcat,Jetty以及普通的java应用。
JTA 深度历险 - 原理与实现
关于分布式事务、两阶段提交协议、三阶提交协议
Java中的事务——JDBC事务和JTA事务

标准的分布式事务

  • 一个分布式事务(Distributed Transaction)包括一个事务管理器(transaction manager)和一个或多个资源管理器(resource manager)。
  • 事务管理器(transaction manager)承担着所有事务参与单元者的相互通讯的责任。


    JTA分布式事务_第1张图片
    image.png
  • 资源管理器(resource manager)是任意类型的持久化数据存储, 但是资源管理器要实现XA接口规范;
    JTA分布式事务_第2张图片
    image.png
  • 不是使用了UserTransaction就能把普通的JDBC操作直接转成JTA操作,JTA对DataSource、Connection和Resource 都是有要求的,只有符合XA规范,并且实现了XA规范的相关接口的类才能参与到JTA事务中来, 目前主流的数据库都支持XA规范。XA规范也就是一个协调者(事务管理器)通过两阶段或三阶段提交协议,协调多个参与者(资源管理器), 提交或回滚事务.

spring boot mybatis实现分布式事务;

  • 我的另外一篇文章: SpringBoot+Mybatis+atomikos-分布式事务+动态切换数据源

你可能感兴趣的:(JTA分布式事务)