JTA的含义及应用简介

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

  Java Transaction API(Java事务API) (JTA)Java Transaction API(Application Programming Interface)

什么是JTA Transaction?它有怎样的特点呢?JTA Transaction是指由J2EE Transaction manager去管理的事务。其最大的特点是调用UserTransaction接口的begin,commit和rollback方法来完成事务范围的界定,事务的提交和回滚。JTA Transaction可以实现同一事务对应不同的数据库,但是它仍然无法实现事务的嵌套。

分布式事务的规范由OMG的OTS所描述。

JTA是只是一组java接口用于描述,J2ee框架中事务管理器与应用程序,资源管理器,以及应用服务器之间的事务通讯。

它主要包括高层接口即面向应用程序的接口;XAResource接口即面向资源的接口;以及事务管理器的接口。值得注意的是JTA只提供了接口,没有具体的实现。

JTS是服务OTS的JTA的实现。简单的说JTS实现了JTA接口,并且符合OTS的规范。

资源管理器只要其提供给事务管理器的接口符合XA接口规范,就可以被事务管理器处理。

所以,JTA可以处理任何提供符合XA接口的资源。包括:数据库,JMS,商业对象等等

“Java 事务 API”(JTA)启用两阶段提交功能。当配置 WebSphere Application Server 以访问数据库时,可选择具有 JTA 能力的驱动程序。如果需要两阶段提交功能,则必须使用启用 JTA 的驱动程序。

只要您在事务中调用了多个数据库连接,就需要 JTA。只要您在事务中调用了多个数据库服务器,就需要两阶段提交。这些连接可以是相同的物理数据库服务器或多个数据库服务器。例如:

* 实体企业 Bean Entity1 在应用程序服务器 AppServer1 中部署。

* 实体企业 Bean Entity2 在应用程序服务器 AppServer1 中部署。

* 会话企业 Bean Session1 在应用程序服务器 AppServer1 中部署。

如果 Session1 对同一事务内的 Entity1 和 Entity2 调用了方法而这两个企业 Bean 正在使用不同的物理数据库连接,则必须对 Entity1 和 Entity2 使用的数据源启用 JTA。当从相同的数据源对象获取那些连接时,这也是成立的。这需要具有 JTA 能力的驱动程序以提交事务。

当事务涉及到多个进程时,JTA 也是必需的。例如,一个事务可能会涉及在多个应用程序服务器中部署的企业 Bean。

* 实体企业 Bean Entity1 在应用程序服务器 AppServer1 中部署。

* 实体企业 Bean Entity2 在应用程序服务器 AppServer2 中部署。

* 会话企业 Bean Session1 在应用程序服务器 AppServer1 中部署。

如果 Session1 对同一事务(此事务构成一个分布式事务)内的 Entity1 和 Entity2 调用了方法,则必须对 Entity1 和 Entity2 使用的数据源启用 JTA。

性能实现JTA 启用的连接与非 JTA 启用的连接执行情况不同。基于此原因,如果您的应用程序不需要 JTA,则最好使用非 JTA 启用的驱动程序。

其它信息有关 WebSphere Application Server 如何支持 JTA 的信息,参见 WebSphere Application Server 和 DB2 UDB iSeries 版的事务处理及其子主题。

转载于:https://my.oschina.net/crazyinsomnia/blog/2595

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VC++ 深入详解 学习笔记(5) -- 修改窗口样式续

From: http://elton.iteye.com/blog/301503 之前说过, 修改窗口大小,窗口样式的方法。 这里说明一下修改窗口的图标,光标和背景的方法。 修改窗口大小,样式是在创建窗口的时候进行的,而修改图标,光标和背…

为CEDIT添加有颜色的边框

From: http://hi.baidu.com/dqf8/blog/item/56258ed62c658b2707088bb5.html 1、从CEDIT派生CMyEdit 2、添加代码: void CMyEdit::OnPaint() { CPaintDC dc(this); CPaintDC dc(this); // device context for painting // TODO: Add yo…

java 在数组末尾添加元素_Java快问快答:用 ArrayList 还是 LinkedList?

问题&#xff1a;通常我会这么定义列表&#xff1a;List<String> names new ArrayList<>()names类型使用List接口&#xff0c;那么具体实现该如何选择。 什么时候应该用LinkedList替代ArrayList&#xff0c;反之亦然&#xff1f;这里大家可以关注一下我的个人专栏…

手把手教你用好LINQ to SQL(1)

From: http://developer.51cto.com/art/200904/120915.htm 作者写下这篇文章的主要目的不是“一口吃成个胖子”让大家一次就学会LINQ to SQL。而是从不同的方面帮助大家正确理解&#xff0c;所以这里提到的快速的含义是提高效率&#xff0c;而不是单纯为了学习的速度。 最近接连…

esxi管理端口_网工知识角|一分钟轻松了解华为端口安全机制

学网络&#xff0c;就在IE-LAB国内高端网络工程师培养基地为防止MAC地址洪泛攻击&#xff0c;防止未经允许的设备访问网络&#xff0c;并增强安全性。通过端口安全机制&#xff0c;录连接到交换机端口的以太网MAC地址&#xff0c;只允许某个或者某些合法设备通过相应的端口进行…

VC设置CEdit控件背景透明、文字背景也透明

开发环境&#xff1a;VC6&#xff0c; a dialog based MFC application. 主界面&#xff1a; 为对话框添加WM_CTLCOLOR消息响应函数&#xff1a; HBRUSH CDDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr CDialog::OnCtlColor(pDC, pWnd, nCtlColor);…

Taro+react开发(71):Taro.nextTick

Taro.nextTick(callback) 延迟一部分操作到下一个时间片再执行。&#xff08;类似于 setTimeout&#xff09; 说明 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作&#xff0c;当这几个接口被连续调用时&#xff0c;都是在一个同步流程中执行完的&#xf…

led拼接屏报价_LED拼接屏的装饰

LED拼接屏外装饰工程是利用结构连接件或者粘结剂将装饰材料固定到钢结构框架的外部&#xff0c;使之达到一个美观大方的外形&#xff0c;并且达到防水(针对户外)等防护目的。LED屏的常用装饰的材料如下。(1)不锈钢一般装饰使用的不锈钢主要有亚光拉丝不锈钢、镜面不锈钢&#x…

Taro+react开发(72):Taro.createSelectorQuery

Taro.createSelectorQuery() 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点&#xff0c;并使用 boundingClientRect 等方法选择需要查询的信息。

电感检测_三、电感线圈的识别与检测(二)

变压器变压器也是一种电感器。它是利用两个 电感线圈靠近时的互感现象工作的&#xff0c;是电子产品中十分常见的元件。变压器是将两组或两组以上线圈绕在同一骨架上&#xff0c;并在绕好的线圈中插入铁芯或磁芯等导磁材料而构成&#xff0c;它在电路中起电压变换和阻抗变换等作…

Taro+react开发(73):Taro.createSelectorQuery

Taro.nextTick(() > {// 使用 Taro.nextTick 模拟 setData 已结束&#xff0c;节点已完成渲染Taro.createSelectorQuery().in(isH5 ? this : this.$scope).select(".dynamic-detail-content-text").fields({ size: true }).exec(res > {if (!res[0]) return;c…

ls mac 显示最近修改日期_Find Any File for Mac(Mac本地文件搜索工具)

今天小编给大家带来的Find Any File mac是Mac平台上的一款本地文件搜索查找工具&#xff0c;可以让你在本地磁盘上快速搜索、查找你需要的文件。甚至是隐藏文件都逃不出Find Any File mac的查询&#xff0c;并且支持以文件名称&#xff0c;建立或修改日期&#xff0c;大小&…

其他脚本与 asp.net 脚本一起验证时容易出的问题

但其他脚本&#xff0c;与 asp.net 验证控件一起进行脚本验证时&#xff0c;容易使 asp.net 验证控件的验证&#xff0c;失去效果&#xff0c;下面提供了一种比较好的解决方案代码<asp:Button ID"btnOK"runat"server"Text"确定"onclick"…

asp用于取代什么技术_苹果Mini LED晶粒四季度量产,用于新iPad Pro,三安光电或成赢家...

来源 &#xff1a;快科技9月23日消息&#xff0c;天风证券知名分析师郭明錤发布最新报告。由于OLED屏主要集中在韩国供应商体系下&#xff0c;这也加快了苹果要打破这种局面的节奏&#xff0c;很快他们就要推出使用Mini LED屏的移动设备了。天风国际旗下知名分析师郭明錤给出的…

LinQ—高级查询方法

对于高级查询方法&#xff0c;主要分为五大类&#xff0c;详情下图&#xff1a; 【Distinct】&#xff1a; 避免重复值出现&#xff0c;也就是如果有两个数字2&#xff0c;那么使用集合类可以单一出现 首先我们来写一个数组&#xff0c;方便举例&#xff1a; // 数组数据perso…