rabbitmq_特别注意篇 basicConsume

今天研究了一下basicConsume 里面的一些参数

先解释一些参数名的含义 , 后面会用到

序号返回值备注
1 envelope 包含deliveryTag、exchange、routingKey等信息
2 props BasicProperties对象,即消息生产时设置的该对象特性
3 body 消息体byte数组
4 messageCount 消息数量

 

 

序号方法参数含义
1 queue 消费队列名称
2 autoAck 自动确认提交
3 consumerTag 消费者唯一标识
4 noLocal 不消费同一Connection连接生产的消息
5 consumer 具体组织消费逻辑对象,里面提供系列重载方法用户消费逻辑组装
6 deliveryTag 确认消息的编号,这是每个消息被消费时都会分配一个递增唯一编号

先说结论 : (1) DelivertTag 跟消费者的channel 有关 , 如果两个消费者使用同一个channel 创建出来 , 那么他们相当于共享同一个DelivertTag 

       (2)ConsumerTag 跟消费者本身有关 , 即便是同一个channel创建出来的消费者 ConsumerTag也是不同的两个

以下是消费者部分代码:

 


下面说说自己的初步测试结果 (初步测试结果不完全准确 , 可以看下文):  

deliveryTag参数 : 

左边是消费者1输出的结果                                                                                                                                    右边是消费者2输出的结果

consumerTag参数:

 

 

为了进一步验证上面的结果的正确性:

我们使用同一个channel创建两个消费者

 

 

 

 

 

===================================================================================补充说一下另一个参数properties=====================================================================================

 

 

posted @ 2021-10-22 15:33  代达罗斯之殇  阅读(1711)  评论(0编辑  收藏  举报