`
lobin
  • 浏览: 430925 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分布式事务-JTA支持

 
阅读更多

分布式事务

 

2PC

角色

参与者

参与者有多个。

 

协调者

 

2PC(两阶段提交协议)分2个阶段完成提交

1、请求阶段

2、提交阶段

 

 

 

                                           +---------------+

    --------------------error---->|               |<---error---------------------

    | ------------------commit----|               |----commit------------------ |

    | | ------------------ok----->|               |<-----ok------------------ | |

    | | |         |    协调者     |                         | | |

             | | | --------------error---->|               |<----error-------------- | | |

    | | | | -----------prepare----|               |----prepare----------- | | | |

    | | | | | -----------ok------>|               |<-----ok------------ | | | | |

    | | | | | |                   +---------------+                   | | | | | |

    | | | | | |                      ^    |    ^                      | | | | | |

    | | | | | |                      | prepare |                      | | | | | |

             | | | | | |                    error  |    ok                     | | | | | |

             | v | | v |                      |    v    |                      | v | | v |

          +---------------+                +---------------+                +---------------+

          |   参与者1     |                |    参与者2    |                |    参与者n    |

 +---------------+                +---------------+                +---------------+

 

 

                                        

 

JTA支持

 

Java 事务编程接口(JTA:Java Transaction API)

 

Java javax.transaction、javax.transaction.xa提供了Java 事务编程接口( JTA )规范定义。

 

 

 

 

 

JTA 主要包含以下几部分:

 

1、资源

javax.transaction.xa.XAResource

2、事务

javax.transaction.UserTransaction

javax.transaction.Transaction

3、事务标识

javax.transaction.xa.Xid

 

4、一组状态定义

在javax.transaction.Status中定义了一组状态:STATUS_ACTIVE、STATUS_MARKED_ROLLBACK、STATUS_PREPARED、STATUS_COMMITTED、STATUS_ROLLEDBACK、STATUS_UNKNOWN、STATUS_NO_TRANSACTION、STATUS_PREPARING、STATUS_COMMITTING、STATUS_ROLLING_BACK

 

 

5、同步接口

javax.transaction.Synchronization

 

6、一系列异常定义

HeuristicCommitException、HeuristicMixedException、HeuristicRollbackException、InvalidTransactionException、NotSupportedException、RollbackException、SystemException、TransactionRequiredException、TransactionRolledbackException、XAException

 

0
0
分享到:
评论

相关推荐

    Java编程代码-分布式事务-源代码+讲义+资料

    在Java中,通常会使用JTA(Java Transaction API)来处理分布式事务。JTA提供了一个标准的API,使得应用可以跨不同的事务管理器和资源管理器进行事务控制。 1. **原子性**:事务中的所有操作要么全部成功,要么全部...

    spring+jotm+ibatis+mysql实现JTA分布式事务

    本项目“spring+jotm+ibatis+mysql实现JTA分布式事务”旨在利用这些技术来确保在分布式环境中的数据一致性。下面将详细介绍这个项目所涉及的知识点。 首先,Spring框架是Java开发中最常用的应用框架之一,它提供了...

    分布式事务专题-v1.1

    它与JTA结合,可以支持分布式事务管理。 3. **Spring框架中的事务管理**:Spring框架提供了声明式事务管理,开发者只需在方法上添加注解,如@Transactional,即可让Spring自动处理事务的开始、提交、回滚等操作。...

    atomikos-transactions-jta.jar.zip

    JTA(Java Transaction API)是Java平台的标准接口,用于处理分布式事务,确保在多资源操作中的数据一致性。Atomikos Transactions JTA 提供了对JTA的实现,使得开发者能够方便地在Java应用程序中实现ACID(原子性、...

    Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务

    4. 开启JTA支持:在Spring Boot的主类上添加`@EnableJtaTransactionManager`注解,开启JTA事务管理。 5. 编写业务代码:在服务类中,使用`@Transactional`注解标记方法,以开启分布式事务。事务边界内的所有操作将在...

    geronimo-jta_1.1_spec-1.1-sources.jar.zip

    Geronimo JTA 1.1规范是Java Transaction API(JTA)的一个实现,它定义了在分布式环境中管理事务的标准接口。本篇文章将深入探讨Geronimo JTA 1.1规范的核心概念,并结合Hibernate ORM框架,阐述其在实际应用中的...

    第二部分spring+hibernate+jta 分布式事务Demo

    Atomikos是一个开源的JTA实现,它提供了一套完整的事务管理解决方案,包括事务协调器和服务,以支持分布式事务。在项目中引入`transactions-jta.jar`、`transactions.jar`、`atomikos-util.jar`等Atomikos相关的库,...

    java分布式事务demo

    在Java中,实现分布式事务的方法有很多,例如使用JTA(Java Transaction API)或者Spring框架的声明式事务管理。 1. **JTA(Java Transaction API)**:这是Java平台的标准API,用于管理全局事务,可以跨越多个资源...

    Spring Boot+Druid+Mybatis实现JTA分布式事务

    JTA是Java平台企业版(Java EE)的一部分,它为应用提供了统一的事务管理接口,支持跨多个数据源的分布式事务。这意味着在一个事务中,可以同时对多个数据库或资源进行操作,确保数据的一致性和完整性。 Spring ...

    java+spring+mybatis+mysql+RuoYi-atomikos-实现分布式事务.zip

    5. **Atomikos**: Atomikos是一个开源的JTA(Java Transaction API)实现,它为分布式事务提供了强大的支持。Atomikos可以管理多个数据库和消息队列的事务,确保在一个分布式系统中所有资源的更新要么全部成功,要么...

    分布式事务JTA之实践:Spring+ATOMIKOS

    Atomikos是一个开源的JTA实现,它为Spring提供了完整的分布式事务支持。Atomikos包含了事务协调器(Transaction Manager)和资源管理器(如XAResource),可以处理跨数据库、JMS和其他JTA兼容资源的事务。Atomikos的...

    spring 结合druid和hibernate使用jta配置分布式事务

    `Atomikos` 是一个开源的JTA实现,它提供了对分布式事务的支持,可以与Spring集成,处理多数据源的事务管理。 在Spring中配置Druid和Hibernate结合Atomikos进行分布式事务管理的步骤如下: 1. **引入依赖**:在...

    spring + JTA + JOTM实现分布式事务

    对于分布式事务,Spring支持JTA事务管理,并且可以无缝集成JOTM。 1. **配置JOTM**:首先,你需要在项目的类路径下添加JOTM的依赖库。然后,在Spring的配置文件中定义JOTM的事务管理器 bean,例如: ```xml ...

    Springboot 动态多数据源 jta分布式事务

    本资源针对的是Spring Boot动态多数据源和JTA(Java Transaction API)分布式事务的实现,对于初学者来说非常实用。下面我们将深入探讨这些知识点。 首先,让我们了解一下Spring Boot的多数据源。在许多业务场景下...

    springboot多数据源即分布式事务解决方案

    SpringBoot提供了多种分布式事务管理器,如JTA(Java Transaction API)和Spring的PlatformTransactionManager。 JTA是Java EE平台的标准,支持全局事务。在SpringBoot中,可以使用Atomikos或Bitronix这样的第三方...

    JavaEE5学习笔记01-JTA和数据库事务

    传统的本地事务处理仅限于单个资源管理器,而JTA支持全局事务,即能够跨越多个资源管理器进行事务协调,确保所有操作要么全部成功,要么全部失败。 ##### 2.3 JTA与本地事务处理的对比 - **Local Transaction ...

    分布式事务操作之Spring+JTA+mybatis源码

    本话题主要聚焦于如何在Spring框架中结合Java Transaction API (JTA) 和 MyBatis 实现分布式事务管理。下面我们将详细探讨相关知识点。 1. **分布式事务**:在分布式系统中,事务处理跨越多个资源或服务,例如...

    Lab4-JTA-code_jta_choiceh76_

    Java Transaction API(JTA)是Java平台上的一个关键组件,用于管理跨多个数据源的分布式事务。在“Lab4-JTA-code_jta_choiceh76_”这个实验中,我们将会深入探讨JTA如何实现这一功能,并通过具体的代码示例进行学习...

    龙果学院--微服务架构的分布式事务解决方案--第03节--常用的分布式事务解决方案介绍

    - **系统开销大**:与本地事务相比,使用XA协议会带来较大的系统开销,且只有支持XA协议的资源才能参与分布式事务。 #### 六、BASE理论 在面对分布式事务处理时,另一种思路是采用BASE理论(Basic Availability、...

Global site tag (gtag.js) - Google Analytics