前面关于活动系统的数据一致性,是用事务来完成的。
但是现在都是大数据,因此都会存在跨库的事务。所以对这个进行了一些了解,做下整理。
J2EE规范
ØJDBC
Ø……
ØJTA
ü JTA定义了一种标准API,应用系统由此可以访问各种事务监控。
ØJTS
üCORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API(JTA)规范.JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
JTA介绍
在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA (Java Transaction API)。JTA 为 J2EE 平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的事务管理方式
JTA架构图
JTA例子
UserTransactionuserTx = null;
Try{
// 启动事务 userTx.begin();
Sql操作
// 提交事务 userTx.commit();
}catch(){
// 发生异常,回滚事务userTx.rollback();
}
JTA框架
面向开发人员的使用接口(事务管理器)
面向服务提供商的实现接口(资源管理器)
JTA开发人员接口
Øbegin()- 开始一个分布式事务
Øcommit()- 提交事务
Ørollback()- 回滚事务
ØgetStatus()- 返回关联到当前线程的分布式事务的setRollbackOnly()- 标识关联到当前线程的分布式事务将被回滚
JTA面向提供商
TransactionManager 和 Transaction 两个对象
JTA实现类图
分布事务的提交
•1、预交阶段
•2、并向所有投“提交”票的子事务发失败命令,否则向它们发提交命令
JTA参考文档
相关推荐
本文将深入探讨如何使用JTA来实现跨库事务,确保数据的一致性和完整性。 首先,我们需要理解JTA的核心概念。JTA提供了一个统一的API,使得应用程序可以透明地处理分布式事务,而无需关心底层的事务管理细节。它定义...
《bigtest_版本4》是针对数据库操作与事务管理的一个集成解决方案,主要涵盖了c3p0数据源、JDBC封装、AOP注解事务以及JTA跨库事务控制等多个核心知识点。下面将对这些关键概念进行详细的阐述。 首先,c3p0是一个...
### 跨数据库的事务管理配置JTA:XML的详细配置 在现代软件开发过程中,特别是在企业级应用中,经常需要处理跨多个数据源的操作。为了确保数据的一致性和完整性,通常会采用分布式事务来实现这一目标。Java ...
Atomikos通过实现JTA规范,允许应用程序在不同的数据源之间进行跨系统事务处理。 JPA是Java平台上的标准ORM(Object-Relational Mapping)框架,用于管理和持久化Java对象到关系数据库。它提供了一种抽象层,使得...
在微服务架构中,跨服务的数据一致性是非常重要的,这就需要用到分布式事务。JTA是Java平台中处理分布式事务的标准API,它允许应用程序在一个全局事务中操作多个资源(如数据库、消息队列等)。Spring Boot支持JTA...
本篇文章将深入探讨如何在Spring中配置JTA事务管理,以实现跨数据库和资源的事务一致性。 首先,让我们了解JTA的基本概念。JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、...
JTA(Java Transaction API)是JavaEE5中用于管理分布式事务的标准接口,它定义了一套API,用于协调跨多个资源管理器(如数据库、消息队列)的事务。JTA由两部分组成:`UserTransaction`接口和`TransactionManager`...
JTA是Java平台企业版(Java EE)的一部分,它为应用提供了统一的事务管理接口,支持跨多个数据源的分布式事务。这意味着在一个事务中,可以同时对多个数据库或资源进行操作,确保数据的一致性和完整性。 Spring ...
如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,欢迎下载传播。有问题请在评价中...
JTA是Java平台的标准事务API,它允许应用程序进行跨多个数据源(如数据库或消息队列)的全局事务处理。通过JTA,开发者可以编写不关心具体事务管理细节的代码,这样就提高了代码的可移植性和可维护性。 JOTM则是JTA...
- **Atomikos、Bitronix等JTA实现**:这些第三方库实现了JTA规范,可以用来管理分布式事务。 6. **配置Spring JTA事务**:在Spring的配置文件中,你需要配置 `UserTransaction` 和 `TransactionManager`,并启用...
而JTA(Java Transaction API)则提供了跨不同资源管理器的事务协调标准。在这个"第二部分spring+hibernate+jta 分布式事务Demo"中,我们将深入探讨如何利用这些技术实现高效的分布式事务管理。 Atomikos是一个开源...
`JTA(Java Transaction API)`是Java平台提供的一种标准,用于处理跨多个数据存储的事务管理。这篇博客"多数据源事务jta测试"可能探讨了如何在Java环境中利用JTA来实现对不同数据库的事务一致性。 JTA允许应用程序...
由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 连接用时实例化,可分别作单一事务操作 修改单库代码
由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 更正致命BUG 连接用时实例化,可分别作单一事务操作
在集成Spring+iBatis+JOTM的环境中,Spring主要负责事务策略的配置和管理,iBatis则作为持久层框架,负责SQL的执行,而JOTM作为事务管理器,确保跨数据库的事务一致性。 1. **环境搭建** - 首先,确保安装了JDK ...
由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 连接用时实例化,可分别作单一事务操作 更正Bug 事务操作完毕恢复自动提交
在MySQL中,你需要创建至少两个数据库来演示JTA事务的跨库操作。确保这两个数据库的连接信息已经配置好,以便Spring可以访问它们。 #### 1.4. 配置Spring 在Spring的配置文件(如`applicationContext.xml`)中,你...
为了解决这个情况,我们需要对JtaTransactionManager进行扩展,添加一个`switchDb`属性来区分jtaTx事务和singleTx事务,并在执行跨库操作时动态切换数据库连接。 参考蔡志国和户启龙的思路,可以改写`...