Spring boot AMQP忽略了ActiveMQ 5重新交付策略
我有一个Spring引导应用程序,它使用Qpid JMS与ActiveMQ 5.15.14代理进行AMQP对话。即使配置了重新交付插件,代理的重新交付策略也会被忽略。然而,客户的重新交付政策(Qpid)确实发挥了作用 当完全相同的代码和客户机配置连接到ActiveMQ Artemis代理时,代理的重新交付策略就会生效,这正是我要寻找的 您所知道的任何东西都可以解释ActiveMQ 5和ActiveMQ Artemis之间的这种不同行为吗?除了重新交付策略之外,这两个代理都使用了几乎所有的OOTB配置,并且在我的ActiveMQ 5代理中也启用了schedulerSupport。以下是在Spring boot AMQP忽略了ActiveMQ 5重新交付策略,spring-boot,activemq,amqp,activemq-artemis,Spring Boot,Activemq,Amqp,Activemq Artemis,我有一个Spring引导应用程序,它使用Qpid JMS与ActiveMQ 5.15.14代理进行AMQP对话。即使配置了重新交付插件,代理的重新交付策略也会被忽略。然而,客户的重新交付政策(Qpid)确实发挥了作用 当完全相同的代码和客户机配置连接到ActiveMQ Artemis代理时,代理的重新交付策略就会生效,这正是我要寻找的 您所知道的任何东西都可以解释ActiveMQ 5和ActiveMQ Artemis之间的这种不同行为吗?除了重新交付策略之外,这两个代理都使用了几乎所有的OOTB
activemq.xml
中redelivey配置的外观:
另一个要考虑的问题:ActuMeq 5代理的重发策略在使用OpenLoad(JMS)时应用ActiveMQ 5.x中的AMQP协议头远比Artemis broker实现中的AMQP协议头原始,而不是AMQP。
。此外,5.x代理可以根据代理上“transportConnector”中的transformer设置做出不同的反应,transportConnector可以是JMS、本机或原始。JMS转换器将提供与ActiveMQ最兼容的行为,但需要在内部完全转换为OpenWire消息,然后在从AMQP发送方转换为AMQP接收方时再转换回AMQP,这可能会严重影响性能。本机转换将尝试保留对消息重新传递状态的一些见解,但不太可能捕获所有情况。使用原始模式时,根本无法了解消息传递计数,因此您肯定不会在代理端获得任何重新传递处理简而言之,如果您正在寻找一个功能齐全的AMQP代理,那么请选择Artemis,因为它已经做了很多工作,如果您只需要一些可以让消息流动的东西,那么5.x应该可以工作,但不要期望相同的服务质量。很有意义。非常感谢。