# spring-transactional-demo **Repository Path**: xia5523/spring-transactional-demo ## Basic Information - **Project Name**: spring-transactional-demo - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-12-14 - **Last Updated**: 2021-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-transactional-demo git初始化提交参看这里 https://www.cnblogs.com/smfx1314/p/8426115.html 主要命令 git remote add origin git@github.com:smfx1314/test2.git git pull --rebase origin master git push origin master 强制上传 git push -u origin branch -f #### 项目介绍 { 用于测试spring事务相关 1、rabbitmq对应spring提交与回滚对应 结论:具体参见:org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.bindResourceToTransaction,里面讲注册一个RabbitResourceSynchronization 用于实现提交或回滚相关策略。 spring事务机制:aop之后,将执行 org.springframework.transaction.support.TransactionSynchronizationManager.synchronizations这个集合变量中的注册机。 注册的内容必须是实现TransactionSynchronization接口,则可以执行。 2、spring的事务,在调用本类service层的时候,子方法如果仅单独开启事务,是无效的。 } #### 结论 RabbitTemplate,RedisTemplate都实现了spring的事务回滚,及加了@Transactional标记的方法,以及开启了对应的事务,则将会跟随spring的事务。 rabbitMQ接收消息的时候,内部是开启线程接收的,所以spring的默认事务管理是无效的,但是这里RabbitListener中实际上它自身检测了是否加了@Transactional注解,如果有事务注解则自己手动注册事务。 #### 现象 rabbitMQ接收的事务回滚,必须在@RabbitListener方法上再加@Transactional才能事务回滚 socket的服务接收这里,事务回滚是完全无效的。(socket这个应该算是异步的,所以事务是无效的,除非自己手动的在异步中进行事务编写) #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)