Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot AMQP忽略了ActiveMQ 5重新交付策略_Spring Boot_Activemq_Amqp_Activemq Artemis - Fatal编程技术网

Spring boot AMQP忽略了ActiveMQ 5重新交付策略

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

我有一个Spring引导应用程序,它使用Qpid JMS与ActiveMQ 5.15.14代理进行AMQP对话。即使配置了重新交付插件,代理的重新交付策略也会被忽略。然而,客户的重新交付政策(Qpid)确实发挥了作用

当完全相同的代码和客户机配置连接到ActiveMQ Artemis代理时,代理的重新交付策略就会生效,这正是我要寻找的

您所知道的任何东西都可以解释ActiveMQ 5和ActiveMQ Artemis之间的这种不同行为吗?除了重新交付策略之外,这两个代理都使用了几乎所有的OOTB配置,并且在我的ActiveMQ 5代理中也启用了schedulerSupport。以下是在
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应该可以工作,但不要期望相同的服务质量。

很有意义。非常感谢。