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

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 "发送成功";
}

相关文章:

  • 深度学习之贝叶斯分类器
  • NASA数据集:ATLAS/ICESat-2 L3B 每日和每月网格化海冰自由面高度,第 4 版
  • 多个excel表数据比对操作
  • 叉车防撞系统方案,引领安全作业新时代
  • docker-compose 快速部署clickhouse集群
  • 清华大学、腾讯联合推全开源多模态架构Oryx 支持超长视频输入
  • 系统实施方案(word2024原件参考模板)
  • 【网络安全】绕过 Etplorer 管理面板实现RCE
  • 【Spring Boot 入门三】Spring Boot与数据库集成 - 构建数据驱动的应用
  • Springboot 练习
  • synchronized关键字的作用、使用场景及锁升级过程。ReentrantLock与synchronized的区别及适用场景。
  • vue使用indexedDB缓存教程
  • BCJR算法——卷积码的最大后验译码
  • Visual Studio代码编辑快捷键
  • 【Golang】关于Go语言数学计算、随机数生成模块--math
  • 【剑指offer】让抽象问题具体化
  • 【刷算法】从上往下打印二叉树
  • android 一些 utils
  • conda常用的命令
  • Date型的使用
  • Java 网络编程(2):UDP 的使用
  • Java的Interrupt与线程中断
  • jdbc就是这么简单
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • mysql外键的使用
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • quasar-framework cnodejs社区
  • React-flux杂记
  • Vim 折腾记
  • 从tcpdump抓包看TCP/IP协议
  • 汉诺塔算法
  • 面试遇到的一些题
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 数组大概知多少
  • 正则学习笔记
  • k8s使用glusterfs实现动态持久化存储
  • MPAndroidChart 教程:Y轴 YAxis
  • 进程与线程(三)——进程/线程间通信
  • 说说我为什么看好Spring Cloud Alibaba
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (4)logging(日志模块)
  • (k8s中)docker netty OOM问题记录
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (三)模仿学习-Action数据的模仿
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (四) Graphivz 颜色选择
  • (四)图像的%2线性拉伸
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程