我目前使用 ActiveMQ 为包含多个主题的 STOMP 消息队列提供服务。由于我们现在开始向队列添加数千个连接,因此我一直在尝试实施 NIO 以减少使用的线程数。
按照文档,我修改了配置以添加 NIO,如下所示:
但是,测试时每个连接仍然会获得两个线程 - 一个名为 NIO Transport Thread,另一个名为 BrokerService。
我原本期望使用 NIO 时线程使用率会低得多。因此,我的期望是错误的吗?还是 NIO 需要进行更多配置更改?
谢谢
答案1
快速浏览 ActiveMQ 开发人员论坛后,似乎在 AMQ 中实现 Stomp 传输的方式存在一些架构问题。
看起来像问题 AMQ-2386可能会解决您遇到的问题,最好检查一下 ActiveMQ 主干的修订版本 >= 813722,看看它是否能解决您的问题?