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

RabbitMQ的高级特性-事务

事务:RabbitMQ是基于AMQP协议实现的, 该协议实现了事务机制, 因此RabbitMQ也⽀持事务机制. SpringAMQP也提供了对事务相关的操作. RabbitMQ事务允许开发者确保消息的发送和接收是原⼦性的, 要么全部成功, 要么全部失败

配置事务管理器:

@Bean
public RabbitTemplate rabbitTemplate(CachingConnectionFactory
connectionFactory){
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setChannelTransacted(true);
return rabbitTemplate;
}

注:

1. 不加 @Transactional , 会发现消息1发送成功
2. 添加 @Transactional , 消息1和消息2全部发送失败

@Transactional
@RequestMapping("/send")
public String send(){
rabbitTemplate.convertAndSend("","trans_queue", "trans test 1...");
int a = 5/0;
rabbitTemplate.convertAndSend("","trans_queue", "trans test 2...");
return "发送成功";
}


http://www.kler.cn/news/328949.html

相关文章:

  • esp32 命令行 编译 下载 调试
  • 从《GTA5》的反外挂斗争看网络安全的重要性
  • 【漏洞复现】数字通云平台智慧政务 login 存在登录绕过漏洞
  • 停止模式下USART为什么可以唤醒MCU?
  • 腾讯云linux服务器修改root用户登录密码操作步骤
  • 【递归】11. leetcode 129 求根节点到叶节点数字之和
  • 横排文字、图层蒙版-2(2024年09月30日)
  • 一次金融APP的解密历程
  • SprakSQL-Catalog
  • 【React】入门Day02 —— 表单控制、组件通信、副作用管理与自定义 Hook
  • 9.24 数据结构-栈、队列总结
  • 蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
  • 【深度学习】05-Rnn循环神经网络-04- RNN中的权重和偏置共享指的是什么?/ 为什么要共享/以及怎么进行记忆传递的?
  • Python | Leetcode Python题解之第441题排列硬币
  • Springboot结合RabbitMQ
  • 经典文献阅读之--Stereo-NEC(全新双目VIO初始化)
  • web前端-CSS引入方式
  • Vue3 工具函数(总结)
  • Python和QT哪个更适合嵌入式方向的上位机开发?
  • 【计算机毕业设计】springboot就业信息管理系统
  • Java中的HTTP请求:使用Apache HttpClient
  • python程序操作Windows系统中的软件如word等(是否可以成功操作待验证)
  • 计算机网络实验3——基于TCP的多线程Web Server服务器的实现
  • vue页面保持在div的底部(适用于聊天界面等需要显示最新信息的场景)
  • R包:ggheatmapper热图
  • Postgresql源码(136)syscache/relcache 缓存及失效机制
  • 【数据结构】环形队列(循环队列)学习笔记总结
  • 技术人生-电脑突然卡顿怎么办
  • 滚雪球学Oracle[3.4讲]:事务控制与锁管理
  • Vite:为什么选 Vite