分布式事务的场景时数据源与非分布式事务场景的数据源到底有什么不同

本文介绍了数据源的概念,详细阐述了分布式事务中XA数据源的作用,以及J2EE中如何利用JTA和JTS实现分布式事务。探讨了何时需要使用XA数据源,并给出了在WebLogic、Websphere、JBoss和Tomcat等环境下使用分布式事务的方法。
摘要由CSDN通过智能技术生成

一、概述 在日常项目中肯定需要用到数据源,那么数据源是什么,当遇到分布式事务的场景时数据源与非分布式事务场景的数据源又有什么不同呢,在J2EE中分布式事务又是如何实现的呢,希望本文可以解答您的疑惑。 二、 数据源 2.1 数据源是什么 通俗来讲,数据源是存储数据的地方。例如,数据库是数据源,其他系统也可以是数据源。在J2EE里,数据源是代表物理数据存储系统的实际Java对象。通过这些对象,J2EE应用可以获取到数据库的JDBC连接。 2.2 数据源的设计

从UML图上可以看出,CommonDaraSource是对数据源概念的顶层抽象,约束了数据源必须实现的方法。数据源有三种类型的实现,分别是:

  • DataSource,基本实现,用于生成标准Connection对象

  • ConnectionPoolDataSource,连接池实现,这个数据源并不会直接创建数据库物理连接,而是一个逻辑实现,它的作用在于池化数据库物理连接。由于数据库物理连接是一个重量级的对象,频繁的创建销毁很影响性能,将物理连接池化后可降低创建和销毁的频率,复用连接以充分利用连接资源。

  • XAConnection,分布式事务实现,为支持分布式事务而诞生,这个数据源直接生产出的不是数据库物理连接Connection,而是一个支持XA的XAConnection对象,XAConnection对象可以直接生产数据库物理连接,同时生产XAResource用于支持XA事务,通常XAConnection对象生产出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值