
RabbitMQ
mcatto
这个作者很懒,什么都没留下…
展开
-
rabbitmq关于delivery_tag
delivery_tag是消息投递序号,每个channel对应一个(long类型),从1开始到9223372036854775807范围,在手动消息确认时可以对指定delivery_tag的消息进行ack、nack、reject等操作。每次消费或者重新投递requeue后,delivery_tag都会增加,理论上该正常业务范围内,该值永远不会达到最大范围上限。可以根据每个消费者对应channe...原创 2019-10-30 17:32:39 · 9800 阅读 · 0 评论 -
rabbitmq basicReject / basicNack / basicRecover区别
channel.basicReject(deliveryTag, true); basic.reject方法拒绝deliveryTag对应的消息,第二个参数是否requeue,true则重新入队列,否则丢弃或者进入死信队列。该方法reject后,该消费者还是会消费到该条被reject的消息。 channel.basicNack(deliveryTag, fal...原创 2019-10-30 16:31:18 · 29475 阅读 · 12 评论 -
rabbitmq 如何删除队列中的消息
对于rabbitmq删除队列消息,有下面几种方式:1. rabbitmqctl --node rabbit@node --vhost testVHost purge_queue testQueue 该方式是命令行删除,等同于web ui管理界面的点击testQueue队列 -> Purge (Purge Message),该方式能删除所有ready的消息,对于u...原创 2019-10-17 09:52:40 · 32779 阅读 · 0 评论 -
spring-boot(rabbitmq) Failed to check/redeclare auto-delete queue(s)
2019-10-14 16:08:05 [AMQP Connection 10.210.1.20:5672] WARN com.rabbitmq.client.impl.ForgivingExceptionHandler - An unexpected connection driver error occured (Exception message: Socket closed)2019...原创 2019-10-14 16:32:59 · 26761 阅读 · 4 评论 -
RabbitMQ (AMQP 0-9-1模型解释) 译
下面是根据官网文档做的一个笔记,大部分来自于翻译,加了点个人理解,错误之处及时纠正前来打脸概要AMQP 0-9-1 协议AMQP 0-9-1模型(Advanced Message Queuing Protocol 高级消息队列协议),使得遵循协议的客户端应用程序可以与相应的消息中间件进行通信,该协议 是RabbitMQ支持的消息协议之一。broker角色消息代理(broker...翻译 2019-08-27 16:51:00 · 1286 阅读 · 0 评论 -
rabbitmqctl (escript: exception error: undefined function rabbitmqctl_escript:main/1)
导致此问题的情况可能有多种,此处导致此情况的是erlang/otp版本与rabbitmq不匹配导致,rabbitmq官网上有关于erlang版本的对应关系说明:compatibility-matrix由于安装的机器与外网不同,所以只能手动安装,如果能联通外网,推荐采用yum安装, 会安装除了Erlang/OTP之外的所有以来程序。只安装对应版本的erlang的rpm包,但是通过erl命令发...原创 2019-08-29 15:28:20 · 17751 阅读 · 2 评论 -
RabbitMQ基于Java的定时任务实现
RabbitMQ的定时任务实现主要原理是借助rabbitmq的消息过期机制,发送消息时可以指定一个expiration(单位毫秒),当一个消息在一个队列内过期时,在默认情况下会drop丢弃掉(此处有个条件,就是该消息必须位于队首,也就是即将被消费时才会判断是否过期,也就是说不在队首的消息即使expiration到期也无法丢弃到死信队列)。如果队列配置了死信队列exchange和routing ke...原创 2019-08-30 18:58:58 · 2057 阅读 · 0 评论