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

我要自学网网站温县住房和城乡建设局网站

我要自学网网站,温县住房和城乡建设局网站,抚州网站建设公司,网站开发与应用论文百度文库文章目录 RabbitMQ 事务消息概述实现原理代码实现不采用事务采用事务 RabbitMQ 事务消息 概述 RabbitMQ 的 AMQP 协议实现了事务机制#xff0c;允许开发者保证消息的发送和接收时原子性的#xff0c;也就是说#xff0c;要么消息全都发送成功#xff0c;要么全都发送失败… 文章目录 RabbitMQ 事务消息概述实现原理代码实现不采用事务采用事务 RabbitMQ 事务消息 概述 RabbitMQ 的 AMQP 协议实现了事务机制允许开发者保证消息的发送和接收时原子性的也就是说要么消息全都发送成功要么全都发送失败只与发送方有关. 实现原理 AMQP 事务实现类似于传统数据库事务允许在一个事务中发送多条消息并在最后提交或回滚. 事务开始客户端发送 tx.select 方法RabbitMQ 开启一个新的事务上下文.事务内的操作客户端发送消息 basic.publishRabbitMQ 将这些消息暂存在内存中并标记为未提交.事务提交客户端发送 tx.commit 方法RabbitMQ 将所有暂存的消息写入队列并且如果消息标记为持久化那么就把消息保存到磁盘.事务回滚客户端发送 tx.rollback 方法RabbitMQ 丢弃所有暂存的消息不会写入队列. 代码实现 不采用事务 a配置文件 spring:application:name: rabbitmqrabbitmq:host: env-baseport: 5672username: rootpassword: 1111b配置常量 object MQConst {// 事务const val TRANS_QUEUE trans.queue}c定义队列 Configuration class MQConfig {Beanfun transQueue() Queue(MQConst.TRANS_QUEUE)}d发送接口 两条消息之间故意触发异常. RestController RequestMapping(/mq) class MQApi(val rabbitTemplate: RabbitTemplate, ) {RequestMapping(/trans-close)fun transClose(): String {rabbitTemplate.convertAndSend(, MQConst.TRANS_QUEUE, trans msg 1)//触发异常val a 1 / 0rabbitTemplate.convertAndSend(, MQConst.TRANS_QUEUE, trans msg 1)return ok}}e效果如下 此时队列中只有一条消息说明消息不具备事务特性. 采用事务 a配置两个 Bean 由于事务对整个 RabbitTemplate 都会有影响因此这里重新定义一个 Template bean.还需要配置一个 RabbitMQ事务管理器. Configuration class GlobalConfig {Bean(transRabbitTemplate)fun transRabbitTemplate(connectionFactory: ConnectionFactory): RabbitTemplate {val mq RabbitTemplate(connectionFactory)mq.isChannelTransacted true // 开启事务机制return mq}Beanfun rabbitTransactionManager(connectionFactory: ConnectionFactory): RabbitTransactionManager {return RabbitTransactionManager(connectionFactory)}}b如下步骤 使用新定义的事务 mq bean.在方法上加上 Transaction 注解. RestController RequestMapping(/mq) class MQApi(val transRabbitTemplate: RabbitTemplate, ) {TransactionalRequestMapping(/trans-open)fun transOpen(): String {transRabbitTemplate.convertAndSend(, MQConst.TRANS_QUEUE, trans msg 1)//触发异常val a 1 / 0transRabbitTemplate.convertAndSend(, MQConst.TRANS_QUEUE, trans msg 1)return ok}} c效果演示
http://www.dnsts.com.cn/news/207134.html

相关文章:

  • 旅游网站开发选题背景如何查看一个网站用什么程序做的
  • 哪家房屋设计公司网站wordpress仿京东
  • 五网合一网站建设丹徒网站建设报价
  • 图片模板 网站源码室内设计学校大专
  • 个体工商户做网站能加地名吗如何查看网站建站程序
  • 做30个精品网站深圳网站制作收费
  • 可以做手机网页的网站做网站的行业平台
  • 网站开发企业部门京东联盟怎么做CMS网站
  • 网站规划和布局浙江建设职业技术学院
  • 建一个网站需要多少费用网架公司安全员需要什么证书
  • 云南网站开发费用Wordpress 图片 不显示
  • 做网站的关键词在线室内设计
  • 校园网站建设方案策划书口碑好个人品牌营销公司
  • 网站在百度上搜不到常平网站
  • 西安网站seo工作室北京规划建设 杂志 官方网站
  • 怎么把网站关掉太月星网站建设程序开发
  • 网站建设hyioi网站取消备案
  • 电商网站建设标准wordpress文章怎么生成海报
  • 怎样做展示型网站wordpress大主题公园
  • 网站流量增长小企业网站建设厂家有哪些
  • 做系统的图标下载网站郑州 互联网 公司网站
  • 谷歌网站提交梦创义网站建设公司
  • 福田做网站优化乐云seo宁波谷歌推广
  • 做网站编辑大专可以吗网站404页面的作用
  • 做创意美食的视频网站有哪些有哪些做兼职的设计网站有哪些工作内容
  • 淘宝客优惠券网站建设教程北京建设网站的公司兴田德润简介
  • 河北常见网站建设价格网站建设毕业设计开题报告
  • 做条形图的网站除了seo还可以做哪些推广呢
  • 企业网站推广的名词解释上海网站建设过程
  • 公司网站广州市建设信息网