我正试图根据这里提到的博客演示RabbitMQ信用流机制的用法:https://www.rabbitmq.com/blog/2015/10/06/new-credit-flow-settings-on-rabbitmq-3-5-5/
作为演示的一部分,我想展示如果消费者无法处理消息,RabbitMQ将阻止发布者进一步发布消息。
在消费者方面,我将消息持久保存在数据库中。我已将RabbitMQ确认模式设置为手动。消费者端的代码在消息成功地持久化到数据库中后显式地确认。
作为演示的一部分,我将rabbitmq.config文件中的credit_flow_default_credit参数设置为2。
相应地,我的拉比狗。配置文件如下所示:
[
{rabbit,[
{loopback_users, []},
{credit_flow_default_credit, {2,1}}
]
}
].
根据我的理解,如果RabbitMQ不能处理2条消息,那么发布者发布的第三条消息必须被阻止。
为了实现我想要的,我将表锁定在数据库中,这样消费者就无法持久保存记录。因此,它也将无法确认。
然而,我看不出发布者在发布消息时有任何问题,即使它已经发布了2条消息。为什么RabbitMQ不能阻止消息的进一步发布?
有没有办法让我检查一下兔子。从Spring AMQP进行配置?我想确保credit\u flow\u default\u credit确实设置为2。
不,它是一个代理属性;java客户端只能做AMQP协议支持的事情。
我建议你在RabbitMQ工程师活跃的RabbitMQ用户谷歌小组上问一些关于RabbitMQ内部的问题(比如为什么你没有看到你期望的行为)。
他们确实不时地在这里寻找,但是你可能会在这里得到更快的反应。
但是,您应该继续在这里询问特定于Spring AMQP的事情。
一、 我与CachingConnectionFactory有一个SpringAMQP项目。我需要从AMQP连接获取一些属性,例如:状态、连接时间、通道和一些运行时度量。CachingConnectionFactory是否有任何指标支持(例如:https://www.rabbitmq.com/blog/2016/11/30/metrics-support-in-rabbitmq-java-clien
请如果有人可以帮助我在配置他们一步一步,给我一个详细的答案。
突击测验,炙手可热!你已经知道 Puppet 的配置设置保存在 puppet.conf 文件里, 在该文件里没有提及的任何参数都会使用其默认值。 你怎样才能显示所有的配置参数的值呢(不管它是否在 puppet.conf 文件里有明确设置)? 你可以使用 Puppet 的 --genconfig 开关。 操作步骤 运行如下命令: # puppet --genconfig 工作原理 这将输出每个配置参
RabbitMQ 说明 MQ 全称为 Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。 RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。他遵循 Mozilla Public License 开源协议。 RabbitMQ WIKI:https://zh.w
js 语法检查主要用到的 loader 和插件有:eslint-loader eslint eslint-config-airbnb-base eslint-plugin-import 这里主要采用的是airbnb编码规范(参见:https://github.com/BingKui/javascript-zh) 一、安装loader 和插件 #安装 loader 和插件eslint-loader
我一直在尝试SpringAMQP。我有几个问题: 我想知道什么是Publisher退货,它与Publisher确认有什么不同。据我所知,我们有一个Publisher Confirm回调,用于检查ACK的状态。现在我看了Spring AMQP和Rabbit MQ中的文档。在这件事上我真的没有发现或理解太多。 还有为什么如果消息试图发送到一个不存在的队列,我不会得到任何类型的确认(ack/nack),