sharding-jdbc中ShardingTransactionManager有什么用


这篇文章将为大家详细讲解有关sharding-jdbc中ShardingTransactionManager有什么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。incubator-shardingsphere-4.0.0-RC1/sharding-transaction/sharding-transaction-core/src/main/java/org/apache/shardingsphere/transaction/spi/ShardingTransactionManager.javaShardingTransactionManager继承了AutoCloseable接口,它定义了init、getTransactionType、isInTransaction、getConnection、begin、commit、rollback方法incubator-shardingsphere-4.0.0-RC1/sharding-transaction/sharding-transaction-2pc/sharding-transacti 香港云主机on-xa/sharding-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/XAShardingTransactionManager.javaXAShardingTransactionManager实现了ShardingTransactionManager接口,它拥有singleXADataSourceMap、xaTransactionManager、enlistedXAResource三个属性,其init方法对这三个属性进行了初始化getTransactionType方法返回的是TransactionType.XA;isInTransaction方法则依据xaTransactionManager.getTransactionManager().getStatus()来判断;getConnection方法从singleXADataSourceMap取出singleXAConnection,然后执行其getConnection方法begin方法执行的是xaTransactionManager.getTransactionManager().begin();commit方法则调用了xaTransactionManager.getTransactionManager().commit(),其会在finally中执行enlistedXAResource.remove();rollback方法调用了xaTransactionManager.getTransactionManager().rollback(),其也在finally中执行enlistedXAResource.remove();close方法则执行xaTransactionManager.removeRecoveryResource、singleXADataSourceMap.clear()、xaTransactionManager.close()incubator-shardingsphere-4.0.0-RC1/sharding-transaction/sharding-transaction-2pc/sharding-transaction-xa/sharding-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingTransactionManagerTest.java这里mock了xaTransactionManager、transactionManagerXAShardingTransactionManager实现了ShardingTransactionManager接口,它拥有singleXADataSourceMap、xaTransactionManager、enlistedXAResource三个属性,其init方法对这三个属性进行了初始化getTransactionType方法返回的是TransactionType.XA;isInTransaction方法则依据xaTransactionManager.getTransactionManager().getStatus()来判断;getConnection方法从singleXADataSourceMap取出singleXAConnection,然后执行其getConnection方法begin方法执行的是xaTransactionManager.getTransactionManager().begin();commit方法则调用了xaTransactionManager.getTransactionManager().commit(),其会在finally中执行enlistedXAResource.remove();rollback方法调用了xaTransactionManager.getTransactionManager().rollback(),其也在finally中执行enlistedXAResource.remove();close方法则执行xaTransactionManager.removeRecoveryResource、singleXADataSourceMap.clear()、xaTransactionManager.close()关于sharding-jdbc中ShardingTransactionManager有什么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: linux tee 命令详解

linux tee 命令详解功能说明:读取标准输入的数据,并将其内容输出成文件。语  法:tee [-ai][–help][–version][文件…]补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。参  数:…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/27 20:54
下一篇 07/27 20:54

相关推荐