queue - ActiveMQ 代理从消费者那里获得持续的空消息拉取尝试
问题描述
我有两个 ActiveMQ 代理和一个消费者。消费者的连接配置设置为使用任一代理进行故障转移。在其中一个代理上,我得到一个持续的消息拉日志:
INFO LoggingBrokerPlugin - 消息来自:ID:CONSUMER_HOST-40120-1559830731356-0:1 on queue:QUEUE_NAME
INFO LoggingBrokerPlugin - preProcessDispatch: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:CONSUMER_HOST-40120-1559830731356-1:1:1:1, destination = null, message = null, redeliveryCounter = 0}
每秒大约有两个这样的条目。我清除了队列,重新启动了两个节点并重新启动了消费者。
这是正常行为吗?这只是对任何新消息的正常轮询还是这里有问题?
解决方案
仅当配置为零预取大小并且您调用其中一种接收方法时,客户端才会执行拉取。您需要查看您的客户以及它是如何使用的,以及为什么拉动如此频繁地发生的答案,可能您正在循环中调用接收或类似的东西。
推荐阅读
- google-apps-script - 如何使用 PageSpeedInsights API 和 Google Apps 脚本将 Google Lighthouse 报告发送到 Slack
- agda - 证明一个类型是一个仿函数 - 推理错误?
- html - 将元素与 flexbox 对齐
- python-3.x - 如何在返回 API 请求之前确保事务是否已提交?
- node.js - nodejs 无法连接到 kafka 代理
- ios - 为什么文本不能在屏幕的中心,为什么文本上方有很大的空间?
- reactjs - 如何等待状态更新,然后在 React Js 中渲染或渲染更新的状态?
- ascii - 在 Snowflake 的 SELECT 语句中将非 ascii 或非英文字符替换为 ascii 或英文字符
- javascript - 如何只获取一次(获取一次后停止获取数据)
- arrays - 附加 CoreData Fetched Results 元素的数组是否必须是同一类型?