AMQP Qpid Proton - 无法将消息发送到超过 256 个队列
Posted
技术标签:
【中文标题】AMQP Qpid Proton - 无法将消息发送到超过 256 个队列【英文标题】:AMQP Qpid Proton - Unable to send messages to more than 256 queues 【发布时间】:2014-03-15 03:52:11 【问题描述】:我使用 AMQP 1.0 和 Qpid Proton 0.6 和 ActiveMQ 5.9.0 作为代理。
当向少于 256 个队列发送消息时,一切正常。
在 256 个队列之后向超过 256 个 Proton 块发送消息时。
Messenger mng = new MessengerImpl();
mng.start();
for (int i = 0; i < 300; i++)
Message message = new MessageImpl();
String address = "amqp://localhost:5672/queue://receiver";
message.setAddress(address+i);
message.setBody(new AmqpValue("test message"));
mng.put(message);
mng.send();
mng.stop();
同样的情况发生在 Proton 非阻塞模式。
是 Proton 限制还是我做错了什么?
【问题讨论】:
首先要做的是针对 5.10-SNAPSHOT 构建进行尝试,我们一直在努力使 AMQP 在下一个版本中变得更好。 不幸的是,使用最新的 5.10-SNAPSHOT 也会发生同样的情况(5.10 使用的是质子 0.6 而不是 0.5,但这并不能解决问题) 【参考方案1】:Proton 或 ActiveMQ 目前在这方面没有已知问题,因此看起来您可能发现了一个错误。最好的做法是为任一项目创建一个 Jira 问题,以便对其进行追踪。
每当向开源项目报告错误时,最好包含一个单元测试,以便开发人员可以快速查看用例并开始分析它。
【讨论】:
以上是关于AMQP Qpid Proton - 无法将消息发送到超过 256 个队列的主要内容,如果未能解决你的问题,请参考以下文章
python-qpid-proton 示例,向 azure 发送消息不起作用
使用 Python Qpid/Proton/Messenger(),如何过滤来自 Azure 事件中心的消息?
使用 AMQP 1.0 使用 Qpid 从客户端动态创建队列和主题