XA_事物扫盲

参考文章 https://www.cnblogs.com/jjzd/p/6541525.html

JDBC事物

JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期
ibatis框架来说,事务管理在SqlMapClient所依托的JDBC Connection中实现,因此事物周期限于SqlMapClient生命周期.

JTA事物

JTA容器实现,管理当前的多个Connection,能够实现垮库   ,使用JTA不支持自动提交

javax.transaction.UserTransaction

begin()
DataSource ds = obtainXADataSource();
Connection conn = ds.getConnection();
commit(); 

JTA方式的实现过程

XADataSource产生的XAConnection它扩展了一个getXAResource()方法  通过这个 getXAResource()方法加入到了事物管理器中 并且黑盒

Xid标识事物

formatID
gtrid 全局事务标识符
bqual 分支修饰词标识符

获取数据源 

“两步提交协议”来提交一个事务分支 

 分布式事物部分提交

在“第 1 阶段”之后,您从 DB2 和 IDS 数据库中都收到了“okay”。在下一步中,应用程序成功提交了 DB2 的事务分支
在应用程序可以通知 IDS 事务分支提交它这一部分之前,IDS 引擎断电挂了

需要引入事物监听器的一个程序  ,来连接数据库引擎中,打开事物的分支, 然后通知数据库引擎提交或者回滚打开的事物

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/87944962
XA