diff --git a/docs/code-rpc.md b/docs/code-rpc.md index f02021d..97c1ff1 100644 --- a/docs/code-rpc.md +++ b/docs/code-rpc.md @@ -33,58 +33,52 @@ Tcc项目地址: - [![地址]()](https://github.com/changmingxie/tcc-transaction/tree/master-1.2.x) + [![地址](tcc地址)](https://github.com/changmingxie/tcc-transaction/tree/master-1.2.x) 如果你想 用dubbo的他的还不行有点错误请下载: (使用请先参考TCC文档) - [![地址]()](https://github.com/qiurunze123/tcc-dubbo) + [![地址](tcc-dubbo地址)](https://github.com/qiurunze123/tcc-dubbo) 效果图: ![效果图](https://raw.githubusercontent.com/qiurunze123/imageall/master/tcc.gif) - 1、tcc-transaction-dubbo - 1.1 字节码代理 -> 创建接口的代理对象 - 1.2 DubboTransactionContextEditor -> TRANSACTION_CONTEXT[标识事务状态] - 利用Dubbo的隐式参数来传递关键的非业务数据 + |_tcc-transaction-dubbo| + |_1 字节码代理 -> 创建接口的代理对象 + |_2 DubboTransactionContextEditor -> TRANSACTION_CONTEXT[标识事务状态]利用Dubbo的隐式参数来传递关键的非业务数据 + |_tcc-transaction-spring| + |_封装了一些关键的Spring组件 - - 2、tcc-transaction-spring - 封装了一些关键的Spring组件 + |_questions| + |_1、什么时候生成的TRANSACTION_CONTEXT隐式参数 + |_2、如何判断一个大的事务下,都有哪些小的事务 + |_3、为什么要有@Compensable注解 + |_4、两个拦截器都没有处理Confirm和Cancel - 3、问题: - 1、什么时候生成的TRANSACTION_CONTEXT隐式参数 - 2、如何判断一个大的事务下,都有哪些小的事务 - 3、为什么要有@Compensable注解 - 4、两个拦截器都没有处理Confirm和Cancel - - 4、基础概念: - 主事务和分支事务【事务参与者】 - - 5、事务拦截器作用:[Spring AOP的基本概念要熟练掌握] - 5.1 CompensableTransactionInterceptor - 5.1.1 将事务区分为Root事务和分支事务 - 5.1.2 不断的修改数据库内的状态【初始化事务,修改事务状态】 - 5.1.3 注册和清除事务管理器中队列内容 - - 5.2 ResourceCoordinatorInterceptor - 5.2.1 主要处理try阶段的事情 - 5.2.2 在try阶段,就将所有的"资源"封装完成并交给事务管理器 - 5.2.3 资源 -》 事务资源 - 事务的参与者 - 1、Confirm上下文 - 2、Cancel上下文 - 3、分支事务信息 - 5.2.4 事务管理器修改数据库状态 - 5.3 调用目标对象 -> order red cap - - 6、小结: - 6.1 事务的相关信息【全局事务编号,乐观锁版本等要持久化存储】 - 6.2 资源:* - TCC 【try-confirm-cancel】 - try核心点: 预留业务资源 - 把事务数据资源存入库中 - 6.3 流程: - 6.3.1 注册和初始化事务 -> 组织事务参与者 -> 执行目标try方法 -> 执行confirm和cancel方法 - \ No newline at end of file + |_基础概念 | + |_主事务和分支事务【事务参与者】 + |_事务拦截器作用:[Spring AOP的基本概念要熟练掌握]|_1 CompensableTransactionInterceptor + |_ 将事务区分为Root事务和分支事务 + |_不断的修改数据库内的状态【初始化事务,修改事务状态】 + |_注册和清除事务管理器中队列内容 + |_ResourceCoordinatorInterceptor + |_主要处理try阶段的事情 + |_在try阶段,就将所有的"资源"封装完成并交给事务管理器 + |_资源 -- 事务资源 + 事务的参与者 + |_1.Confirm上下文 + |_2.Cancel上下文 + |_3.分支事务信息 + |_4.事务管理器修改数据库状态 + + |_ 调用目标对象 -- order red cap + + |_小结 + |_ 1.事务的相关信息【全局事务编号,乐观锁版本等要持久化存储】 + |_ 2.资源:* TCC 【try-confirm-cancel】 try核心点: 预留业务资源 把事务数据资源存入库中 + |_ 3 流程: + |_注册和初始化事务 + |_组织事务参与者 + |_执行目标try方法 + |_执行confirm和cancel方法 \ No newline at end of file