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

建材网站建设公司群晖修改wordpress文件权限

建材网站建设公司,群晖修改wordpress文件权限,百度官方营销推广平台,做网站学的是代码吗在 RabbitMQ 的消费者代码中,Channel 和 tag 参数的存在是为了实现消息确认机制(Acknowledgment)和精细化的消息控制。 Channel 参数 作用 Channel 是 AMQP 协议的核心操作接口,通过它可以直接与 RabbitMQ 交互: 手…

在 RabbitMQ 的消费者代码中,Channel 和 tag 参数的存在是为了实现消息确认机制(Acknowledgment)和精细化的消息控制。

Channel 参数

作用

Channel 是 AMQP 协议的核心操作接口,通过它可以直接与 RabbitMQ 交互:

  • 手动消息确认:通过 basicAck/basicNack 显式告知 RabbitMQ 消息处理结果
  • 流量控制:可调用 basicQos 限制预取消息数量(防止消费者过载)
  • 其他高级操作:如消息重发、队列绑定等

如果不传入 Channel,Spring AMQP 会自动使用默认信道,但会失去对信道的直接控制权。

对应原理

在这里插入图片描述
在这里插入图片描述

生产者的 Channel

  • 当生产者调用 rabbitTemplate.convertAndSend() 时:
rabbitTemplate.convertAndSend("doctor.queue", jsonMessage);
  • Spring AMQP 内部会从 连接池 获取一个 Channel(信道)。
  • Channel 用于将消息发布到指定队列。
  • 发布后自动关闭(如果是非事务模式)或复用。

消费者的 Channel

  • 消费者通过 @RabbitListener 监听队列时:
@RabbitListener(queues = "doctor.queue")
public void onMessage(String json, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long tag) {// 处理逻辑
}
  • Spring AMQP 会为每个消费者线程分配一个 独立的 Channel
  • 所有消息的确认(ACK/NACK)必须通过 同一个 Channel 操作(否则会报错)。

tag 参数

作用

@Header(AmqpHeaders.DELIVERY_TAG) 注入的 tag 是消息的唯一标识符:

  • 消息指纹:每个投递给消费者的消息都会获得唯一的 delivery tag
  • 幂等性设计:通过 tag 可以精确确认/拒绝特定消息
  • 必须参数:调用 basicAck/basicNack 时必须指定此 tag

Tag 的数值范围仅在当前信道内唯一,不同信道的 tag 可能重复。

对应原理

Tag 的生成

  • 当 RabbitMQ 将消息推送给消费者时:
    • 服务端会为 每条消息 分配一个唯一的 Delivery Tag(在当前 Channel 内递增)。
    • 例如:第一次推送的 Tag=1,第二次 Tag=2,…(不同 Channel 的 Tag 独立计数)。

Tag 的作用

  • 唯一标识消息:消费者通过 Tag 告诉 RabbitMQ 要确认/拒绝哪条消息。
  channel.basicAck(tag, false); // 确认当前消息channel.basicNack(tag, false, true); // 拒绝并重新入队
  • 严格顺序性:Tag 在同一个 Channel 内严格递增,确保消息顺序处理。
  • RabbitMQ 服务端维护了一个 消息投递状态表,记录每个 Channel 的 Tag 对应哪条消息。
  • 当消费者发送 ACK/NACK 时,RabbitMQ 根据 Channel + Tag 组合定位到原始消息。

手动确认模式

手动确认模式的优点:

  • 可靠性:只有处理成功的消息才会被确认(basicAck
  • 错误恢复:处理失败时通过 basicNack 让消息重新入队
  • 业务控制:可以根据业务逻辑决定是否确认(如示例中的 shouldBeProcessed 判断)
// 成功处理 - 确认删除
channel.basicAck(tag, false); // 处理失败 - 拒绝并重新入队
channel.basicNack(tag, false, true);

工作流程

在这里插入图片描述


文章转载自:

http://v6Oz479X.zbpqq.cn
http://09bQvrsL.zbpqq.cn
http://wiyLrKQp.zbpqq.cn
http://OjuvEFID.zbpqq.cn
http://xSMuRcEp.zbpqq.cn
http://q2K3miVr.zbpqq.cn
http://tlh9jnzw.zbpqq.cn
http://KYJFZAbP.zbpqq.cn
http://EqXaz3QC.zbpqq.cn
http://tHdiRmks.zbpqq.cn
http://VvOspkBR.zbpqq.cn
http://N6wX6KAb.zbpqq.cn
http://HUMuzjsJ.zbpqq.cn
http://hJ0Xh3IK.zbpqq.cn
http://WT2RqADn.zbpqq.cn
http://h89qVWLN.zbpqq.cn
http://veyRrzlh.zbpqq.cn
http://6HdUevkA.zbpqq.cn
http://wp8P9jyr.zbpqq.cn
http://lCGyOfH9.zbpqq.cn
http://foI7aK7W.zbpqq.cn
http://DRC852RR.zbpqq.cn
http://5fniIoXa.zbpqq.cn
http://BT8c5hJn.zbpqq.cn
http://zhHpyOsY.zbpqq.cn
http://J3JFweeX.zbpqq.cn
http://w6lA8Jow.zbpqq.cn
http://H6R5m1vV.zbpqq.cn
http://9jZaNteA.zbpqq.cn
http://tpKSnqr4.zbpqq.cn
http://www.dtcms.com/wzjs/613944.html

相关文章:

  • 重庆购物网站建设重庆做木门网站公司
  • 创建论坛网站商城网站的建设
  • 请问做卖东西网站怎么成都网站制作电话
  • 成都网站建设推荐国外html5特效网站
  • 电子商务网站设计物流方案wordpress 把账号名改成昵称
  • 泉州网站制作定制济南网络推广公司排名
  • 呼家楼街道网站建设国外做灯的网站
  • wordpress怎么关闭网站常用网页制作工具有哪些
  • 农家院网站素材文创产品设计调研
  • 文网站建设服务费记入什么科目东莞合网站建设
  • 手机制作网站教程自己做短视频网站
  • 免费网站怎么赚钱西宁建站
  • 深圳制作网站主页湘西州住房和城乡建设局网站
  • 如何实现一个制作好的网站源码打包成app
  • 什么是网站快照河南宝盈建设集团有限公司网站
  • 深圳网站制作的公司网络服务做品牌推广网站需要多少钱
  • 旅游网站开发文档wordpress 最新版本
  • 深圳app网站网站系统定制
  • 网站做淘宝客还行吗30岁学编程太晚了
  • 做食品企业网站的费用网站架构设计师薪酬
  • 企业网站制作的软件wordpress使用用户字体
  • 一_ 写出几种常见的网站开发语言_试述其特点在西宁做网站可以吗
  • 网站有限公司免费化工网站建设
  • 苏州网站建设公司哪个好程序员用的编程软件
  • c语言做网站账号登录系统东营信息港
  • 网站建设方案如何写湖北seo优化诊断
  • 打码网站建设网站代码优化方法
  • 建立一个网站要多久秋林 做网站
  • 商务类网站荆门城乡建设局网站
  • 网站建设优選宙斯站长农林网站建设