打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
什么是JTA?
Java Transaction API(Java事务API) (JTA)Java Transaction API(Application Programming Interface)

什么是JTA Transaction?它有怎样的特点呢?JTA Transaction是指由J2EE Transactionmanager去管理的事务。其最大的特点是调用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。只要您在事务中调用了多个数据库服务器,就需要两阶段提交。这些连接可以是相同的物理数据库服务器或多个数据库服务器。例如:
[list=1][*]实体企业 Bean Entity1 在应用程序服务器 AppServer1 中部署。[*]实体企业 BeanEntity2 在应用程序服务器 AppServer1 中部署。[*]会话企业 Bean Session1 在应用程序服务器AppServer1 中部署。[/list]如果 Session1 对同一事务内的 Entity1 和 Entity2 调用了方法而这两个企业Bean 正在使用不同的物理数据库连接,则必须对 Entity1 和 Entity2 使用的数据源启用JTA。当从相同的数据源对象获取那些连接时,这也是成立的。这需要具有 JTA 能力的驱动程序以提交事务。
当事务涉及到多个进程时,JTA 也是必需的。例如,一个事务可能会涉及在多个应用程序服务器中部署的企业 Bean。
[list=1][*]实体企业 Bean Entity1 在应用程序服务器 AppServer1 中部署。[*]实体企业 BeanEntity2 在应用程序服务器 AppServer2 中部署。[*]会话企业 Bean Session1 在应用程序服务器AppServer1 中部署。[/list]如果 Session1 对同一事务(此事务构成一个分布式事务)内的 Entity1 和Entity2 调用了方法,则必须对 Entity1 和 Entity2 使用的数据源启用 JTA。
性能实现JTA 启用的连接与非 JTA 启用的连接执行情况不同。基于此原因,如果您的应用程序不需要 JTA,则最好使用非 JTA 启用的驱动程序。
其它信息有关 WebSphere Application Server 如何支持 JTA 的信息,参见 WebSphere Application Server 和 DB2 UDB iSeries 版的事务处理及其子主题。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java事务API
spring多数据源一致性事务方法
j2ee规范
分布式事务
Java中的事务
高级 DAO 编程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服