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 事件中心的消息?

连接耐用消费者 - Qpid Proton Python

使用 AMQP 1.0 使用 Qpid 从客户端动态创建队列和主题

使用 Qpid 通过 SSL 与 AMQP 1.0 代理通信

从 Qpid JMS 客户端启用 AMQP 1.0 插件连接到 RabbitMQ 3.7.18 时出现错误匹配错误