XAConnection 介绍
XAConnection对象是可以用于分布式事务的PooledConnection对象。它表示数据库的物理连接,多层结构中的服务器可以用它来创建返回给应用程序的Connection对象。因为是通过扩展PooledConnection接口得到的,所以继承了其所有的方法,另外添加了自己的方法 getXAResource。
分布式事务中的命令可以发送给多个DBMS服务器分布式事务是通过中间层应用服务器和外部的事务管理器以及JDBC服务器一同进行管理的,中间层的基础设施的这三个部分提供了plumbing。
分布式事务基础设施的首要元素是事务管理器,它可以是JTA的具体实现。事务管理器控制着事务边界以及两阶段提交过程。它启动和关闭与分布式事务 XAConnection对象相关的组件,并跟踪那些参与了分布式事务的DBMS服务器。事务管理器在每一个dbms中进行运行决定是否提交事务,仅当所有的dbms都同意提交时,事务管理器才提交事务,否则进行rollback。
分布式事务的另一个元素是支持jdbc api的jdbc驱动程序,而且这个驱动程序必须包含实现XADataSource和XAConnection接口的类。XADataResource接口和DataSource接口类似,但是它创建的对象是XAConnection对象而不是Connection对象。继承于 PooledConnection的XAConnection对象的特殊在于可以用它来获取XASource对象。事务管理器使用这个XARource对象开始和结束与分布式事务中的这个XAConnection相关的组件。
分布式事务基础设施中的第三个部分通常是一个连接池模块。XAConnection接口从PooledConnection接口继承而来,这表示分布式事务中的数据库连接可以来自连接池模块所管理的连接池。
JDBC板块精华整理20051226(7)
内容版权声明:除非注明,否则皆为本站原创文章。