`

JTA 跨库事务

阅读更多

前面关于活动系统的数据一致性,是用事务来完成的。

但是现在都是大数据,因此都会存在跨库的事务。所以对这个进行了一些了解,做下整理。

 

J2EE规范

ØJDBC
Ø……
ØJTA
ü JTA定义了一种标准API,应用系统由此可以访问各种事务监控。
ØJTS

 

üCORBA OTS事务监控的基本实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction APIJTA规范.JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

JTA介绍

   在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA (Java Transaction API)JTA J2EE 平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的事务管理方式

 

JTA架构

jta架构图

 

JTA例子

UserTransactionuserTx = null;

Try

// 启动事务 userTx.begin();

Sql操作

// 提交事务 userTx.commit();

catch(){

  // 发生异常,回滚事务userTx.rollback();

 

 

JTA框架

面向开发人员的使用接口(事务管理器)           

面向服务提供商的实现接口(资源管理器

 

JTA开发人员接口

Øbegin()- 开始一个分布式事务
Øcommit()- 提交事务
Ørollback()- 回滚事务

 

ØgetStatus()- 返回关联到当前线程的分布式事务setRollbackOnly()- 标识关联到当前线程的分布式事务将被回滚
 
JTA面向提供商

TransactionManager 和 Transaction 两个对象

 

JTA实现类图

JTA实现类图

 

分布事务的提交

•1、预交阶段

 

•2、并向所有投“提交”票的子事务发失败命令,否则向它们发提交命令
JTA参考文档
  • 大小: 98.7 KB
  • 大小: 134 KB
分享到:
评论

相关推荐

    使用JTA实现跨库事务

    NULL 博文链接:https://ajita.iteye.com/blog/2023951

    跨数据库的事务管理配置jta

    跨数据库的事务管理配置jta,xml的详细配置

    atomikos_3.7_jta项目整合jar包

    JavaWeb项目整合jta跨库事务时用的atomikos第三方组件所需的jar包,前一阵找了好久才凑全,现在已经成功用在项目里面了,希望方便大家~

    JTA事务源码示例

    如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,欢迎下载传播。有问题请在评价中...

    bigtest_版本5

    由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 修正BUG

    bigtest_版本4

    由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 新增:jta跨库事务控制

    bigtest_版本8

    由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 连接用时实例化,可分别作单一事务操作 修改单库代码

    bigtest_版本6

    由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 更正致命BUG 连接用时实例化,可分别作单一事务操作

    bigtest_版本7

    由c3p0数据源及jdbc封装而成的session及事务操作 注解事务利用aop对事务操作 基本的DAO 增删除改查列表 关系对象映射 jta跨库事务控制 连接用时实例化,可分别作单一事务操作 更正Bug 事务操作完毕恢复自动提交

    multidatasource:多数据的demo,不使用jta,不用跨库的事务。事务在action中手工控制

    multidatasource 多数据的demo,不使用jta,不用跨库的事务。事务在action中手工控制

    多数据源分布式事务管理调研报告.docx

    完成某一个业务功能需要横跨多个服务,操作多个数据库。这就涉及到到了分布式事务,用需要操作的资源位于多个资源服务器上,而应用需要...典型的分布式事务场景有跨库事务、分库分表、SOA服务化下的分布式事务管理。

    atomikos-3.7.0

    atomikos-3.7.0与jta构建跨库事务处理.

    springboot jta atomikos实现分布式事物管理

    主要介绍了springboot jta atomikos实现分布式事物管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    spring-jpa-hibernate:使用Spring Data JPA和Hibernate作为JPA提供者的示例应用程序

    使用Bitronix支持跨多个数据存储的JTA事务 带有外键的@OneToOne 使用外键列的两个实体类之间的@OneToOne关联 关于abstract类的JPA count查询 在abstract类上执行count查询 自定义JPA功能 扩展Spring D

    Java资源包01

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

    java开源包1

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

    java开源包11

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

    java开源包2

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

    java开源包3

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

    java开源包6

    JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...

Global site tag (gtag.js) - Google Analytics