tcc-transaction(dubbo版本)
2020-10-27 15:26:34 11 举报
tcc-transaction(dubbo版本)
作者其他创作
大纲/内容
执行rootMethodProceed()方法
transactionManager.commit()
CANCELLING
最后删除事务记录
TCC-BIZ
Terminator.invoke()执行对应方法
更新事务记录
如果事务的状态是try添加事务参与者
新建分支事务记录
否
扫描@Compensable注解的方法
try方法发生异常
biz层服务
participant.commit()事务参与者提交
执行切面拦截到的方法
执行propagationExistBegin()方法根据事务上下文的事务xid取到事务
getMethodRole()
执行propagationExistBegin()方法根据事务上下文的事务xid取到事务
rpc调用
base层服务
根据主事务的状态判断
participant.rollback()事务参与者回滚
新建主事务记录
TRYING
更新事务
TCC-BASE
PROVIDER
transactionManager.rollback()
ResourceCoordinatorInterceptor资源协调器
CompensableTransactionInterceptor可补偿事务拦截器
根据方法注解设置的事务传播级别和事务上下文判断
是
default
propagationNewBegin()发起分支事务
CONFIRMING
ROOT
执行providerMethodProceed()方法
transactionManager.begin()发起根事务
0 条评论
下一页