-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第二期 作业五:理解并完成 ShardingSphere 5.x 对 JTA 事务支持 #13
Comments
https://github.com/liqi19950722/Work/tree/master/work-2-05 说句题外话 通过学习EJB JDBC JTA规范有如下感受:
其实还有一个比较有意思的事情: |
有小伙伴已经对 ShardingSphere JTA 部分相了相对应的源码分析。以下内容,作为个人观点,对 ShardingSphere 为什么会这样实现做相对应的分析。 ShardingSphere 作为一个数据库层面的中间件,其关注点在于: 其目标愿景决定了其产品的特点。 X/Open XA 作为标准的分布式事务协议,像 MySQL 实现了这样的能力。JTA 规范也有针对 XA 事务的实现提供了 API 约定,不同的厂商针对 JTA 提供了不同的产品实现,ShardingSphere 本身并不实现 JTA 标准,但其提供了对 JTA 能力的支持,如 Atomikos,ShardingSphere 定义了其内部统一的 ShardingSphereTransactionManager 接口,对应的有 XAShardingSphereTransactionManager,ShardingSphere 本身并没有像 Spring 那样对 JTA 事务的集成做相对应的模板封装,其意在提供原生 JTA XA 事务能力的一对一映射,只将相对应的事务操作委派给对应的 XA 实现 Provider,如 Atomikos。 Spring 意在使 Java 应用开发本身变得更简单,让开发者更关注于业务逻辑本身,而不是将重心放在如何将应用程序与基础软件如中间件等进行集成。 以上,是个人对 ShardingSphere 对 JTA 能力支持最终呈现形态的分析,主要从其产品定位出发,探讨其与 Spring JTA 实现的差异。 |
要求
(必须)ShardingSphere 5.x 是如何支持 JTA (分布式)事务
(可选)ShardingSphere 5.x 是如何整合 JTA 框架 Atomikos
The text was updated successfully, but these errors were encountered: