1. 概述
本文分享 Dubbo 支持。
TCC-Transaction 通过 Dubbo 隐式传参的功能,避免自己对业务代码的入侵。可能有同学不太理解为什么说 TCC-Transaction 对业务代码有一定的入侵性,一起来看个代码例子:
- 代码来自 tcc-transaction-http-sample 。声明远程调用时,增加了参数 TransactionContext。当然你也可以通过自己使用的远程调用框架做一定封装,避免入侵。
如下是对 Dubbo 封装了后,Dubbo Service 方法的例子:
- 代码来自 http-transaction-dubbo-sample 。是不是不需要传入参数 TransactionContext。当然,注解是肯定需要的,否则 TCC-Transaction 怎么知道哪些方法是 TCC 方法。
TCC-Transaction 通过 Dubbo Proxy 的机制,实现 @Compensable 属性自动生成,增加开发体验,也避免出错。
Dubbo 支持( Maven 项目 tcc-transaction-dubbo ) 整体代码结构如下:
-
proxy
-
context
我们分成两个小节分享这两个包实现的功能。
本人暂时对 Dubbo 了解的不够深入,如果有错误的地方,还烦请指出,谢谢。
希望此文能帮到大家的同时,也听听大家的观点。欢迎留言讨论,加关注,分享你的高见!持续更新!
我本人邀约各大BATJ架构大牛共创Java高级架构交流社区群,(群号:673043639)致力于免费提供Java架构行业交流平台,通过这个平台让大家相互学习成长,提高技术,让自己的水平进阶一个档次,成功通往Java架构技术大牛或架构师发展。
为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
- To-陌霖Java架构
分享互联网最新文章 关注互联网最新发展