Java ActiveMQ中消息的消息消耗存在较大延迟
我们有一个由三个不同服务器上的代理组成的代理网络。 网络连接器的配置如下所示:Java ActiveMQ中消息的消息消耗存在较大延迟,java,activemq,spring-jms,Java,Activemq,Spring Jms,我们有一个由三个不同服务器上的代理组成的代理网络。 网络连接器的配置如下所示: <networkConnectors> <networkConnector uri="static:(ssl://broker2:61616,ssl://broker3:61616)" networkTTL="5"/> </networkConnectors> 然而,这样做也很可怕,因为我们觉得我们没有完全理解现
<networkConnectors>
<networkConnector uri="static:(ssl://broker2:61616,ssl://broker3:61616)" networkTTL="5"/>
</networkConnectors>
然而,这样做也很可怕,因为我们觉得我们没有完全理解现在正在发生的事情,因此无法真正确定这些设置对行为的影响
我们怀疑只有特定客户受到影响的原因,
可能与我们使用JMSGroupId
了解如何处理消息的顺序
宾果
如果您确保串行消息处理,则扩展使用者是无用的。消除此行为的最佳方法是为每个组设置一个具有单个使用者的专用JMS队列,否则,当队列中的多个后续消息属于同一组时,您将试验使用者争用
请参见谢谢您的确认。你对我提到的房产有什么看法?一些博客文章说,应该增加这些内容,以改善经纪人的网络行为。官方文档并不十分清楚(这一点和其他许多方面都不清楚)。您的问题根本与网络配置无关,而是与串行处理的JMS实现有关。不管怎样,我想知道你为什么要使用组。您真的需要确保串行处理吗?消息以自然的fifo顺序退出队列。无论如何,组只是为了减轻消息处理顺序中的多个使用者并行化危险(一个使用者可能比另一个使用者消耗更快,因此先提交一个稍后启动的操作),代价是失去所有并行化功能。谢谢。我认为网络配置不是问题所在,但我们想知道这些参数是否有益。无论如何,不,我们不需要订购。我们以为我们做到了,但我们逐渐意识到事实并非如此。所以我们可以取消消息组。我对此无能为力,sry:)试试看
dynamicOnly="true"
decreaseNetworkConsumerPriority="true"
suppressDuplicateQueueSubscriptions="true"