1. 工程结构
工程主要模块由以下几个构成:
1.1 tcc-transation-api
2.1.1主要实现了XA协议中Xid接口、TCC事务注解、事务传播行为。
1.2 tcc-transaction-core
2.1.2核心模块,实现了对事务注解@Compensable拦截切面、事务恢复、事务落地存储、事务管理。
1.3 tcc-transaction-spring
2.1.3与spring整合的bridge,通过对core模块中相关类的扩展与tcc-transaction.xml文件结合,将动态的部分暴露出,比如tcc事务落地的数据源、事务回滚job的配置方案等。
1.4 tcc-transaction-dubbo
2.1.4与dubbo整合的bridge,通过dubbo的SPI机制,通过继承JavassistProxyFactory.class
扩展实现自己相关代理切面、通过RpcContext.class
中的setAttachment(String key, String value)
来实现对TransactionContext传递。
关于dubbo隐式参数传递可以参考:
https://dubbo.gitbooks.io/dubbo-user-book/demos/context.html
https://dubbo.gitbooks.io/dubbo-user-book/demos/attachment.html
网友评论