当前位置: 首页 > news >正文

GlobalTransactional

seata-spring的maven坐标:

<dependency><groupId>io.seata</groupId><artifactId>seata-spring</artifactId><version>1.6.1</version>
</dependency>

@GlobalTransactional注解的位置:

io.seata.spring.annotation.GlobalTransactional

查看GlobalTransactional源码,注释显示:

/*** The interface Global transactional.** @author slievrly* @see io.seata.spring.annotation.GlobalTransactionScanner#wrapIfNecessary(Object, String, Object) io.seata.spring* .annotation.GlobalTransactionScanner#wrapIfNecessary(Object, String, Object)// the scanner for TM, GlobalLock, and* TCC mode* @see io.seata.spring.annotation.GlobalTransactionalInterceptor#handleGlobalTransaction(MethodInvocation,* AspectTransactional) io.seata.spring.annotation.GlobalTransactionalInterceptor#handleGlobalTransaction* (MethodInvocation,* GlobalTransactional)// TM: the interceptor of TM* @see io.seata.spring.annotation.datasource.SeataAutoDataSourceProxyAdvice#invoke(MethodInvocation) io.seata.spring* .annotation.datasource.SeataAutoDataSourceProxyAdvice#invoke(MethodInvocation)// RM: the interceptor of* GlobalLockLogic and AT/XA mode* @see io.seata.spring.tcc.TccActionInterceptor#invoke(MethodInvocation) io.seata.spring.tcc* .TccActionInterceptor#invoke(MethodInvocation)// RM: the interceptor of TCC mode*/

阅读注释,

io.seata.spring.annotation.GlobalTransactionScanner#wrapIfNecessary(Object, String, Object)

wrapIfNecessary(Object, String, Object)方法,是 TM、GlobalLock和 TCC 模式的扫描仪。

io.seata.spring.annotation.GlobalTransactionalInterceptor#handleGlobalTransaction(MethodInvocation,AspectTransactional)

handleGlobalTransaction(MethodInvocation,GlobalTransactional)这个方法,是TM侧的TM的拦截器。

io.seata.spring.annotation.datasource.SeataAutoDataSourceProxyAdvice#invoke(MethodInvocation)

SeataAutoDataSourceProxyAdvice#invoke(MethodInvocation),是RM侧的GlobalLockLogic和AT/XA模式的拦截器。

io.seata.spring.tcc.TccActionInterceptor#invoke(MethodInvocation)

TccActionInterceptor#invoke(MethodInvocation),是RM侧的TCC模式的拦截器。

TM是什么?RM是什么?看看seata术语表。

TM是事务管理器,定义全局事务的范围:开始全局事务、提交或回滚全局事务。

RM是资源管理器,管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

简称中文名称功能
TC (Transaction Coordinator)事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚。
TM (Transaction Manager)事务管理器定义全局事务的范围:开始全局事务、提交或回滚全局事务。
RM (Resource Manager)资源管理器管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。

GlobalTransactionScanner#wrapIfNecessary,查看扫描仪的方法。

wrapIfNecessary(Object, String, Object)方法位置:

io.seata.spring.annotation.GlobalTransactionScanner#wrapIfNecessary(Object, String, Object)

查看源码,注释显示:

// todo

http://www.lryc.cn/news/194820.html

相关文章:

  • Android Studio运行kotlin项目,一直Read timed out
  • Excel 的单元格内容和单元格格式
  • 4大软件测试策略的特点和区别(单元测试、集成测试、确认测试和系统测试)
  • armbian 安装mysql
  • Ubuntu22常用软件
  • 【CFD小工坊】浅水模型的边界条件
  • 电力物联网关智能通讯管理机-安科瑞黄安南
  • 用Flask构建一个AI翻译服务
  • 微信小程序引入阿里巴巴iconfont图标并使用
  • mysql面试题49:MySQL中不同text数据类型的最大长度
  • 从虚拟电厂在上海的实践探索看企业微电网数字化的意义
  • 创建并初始化线程池
  • 【LeetCode热题100】--136.只出现一次的数字
  • Java idea查看自定义注解的调用地方
  • ReLU激活函数
  • 【Android】adjustViewBounds 的理解和使用
  • Redis知识补充
  • IIS 部署.NetCore,最细步骤
  • 4.查询用户的累计消费金额及VIP等级
  • 解决MySQL错误-this is incompatible with sql_mode=only_full_group_by
  • UDP通信-广播、组播
  • 10-bean创建流程1一finishBeanFactoryInitialization(ConfigurableListableBeanFactory
  • 专题三:穷举、暴搜、深搜、回溯、剪枝【递归、搜索、回溯】
  • 国科云SSL证书讲堂:SSL证书安装常见问题盘点
  • Python3无法调用Sqlalchemy解决(mysqldb)
  • 2023/10/15总结
  • 关于图像分割SDK的一些基础认识
  • SpringMVC之国际化上传下载
  • TigerVNC自动设置密码脚本
  • 什么是美体SDK?美摄美颜美体SDK对接开发指南