gpt4 book ai didi

activemq - 如何在队列上设置 ActiveMQ redeliveryPolicy?

转载 作者:行者123 更新时间:2023-12-02 13:19:49 31 4
gpt4 key购买 nike

如何在队列上的 ActiveMQ 中设置 redeliveryPolicy?

1) 在文档中,请参阅:activeMQ Redelivery ,说明您应该在 ConnectionFactory 或 Connection 上设置它。但我想对不同的队列使用不同的值。

2) 除此之外,我似乎无法正常工作。像这样在 Spring 中的连接工厂上设置它(我使用的是 activemq 5.4.2. 和 Spring 3.0)似乎没有任何效果:

<amq:connectionFactory id="amqConnectionFactory" brokerURL="${jms.factory.url}" >
<amq:properties>
<amq:redeliveryPolicy maximumRedeliveries="6" initialRedeliveryDelay="15000" useExponentialBackOff="true" backOffMultiplier="5"/>
</amq:properties>
</amq:connectionFactory>

我还尝试将其设置为定义的队列上的属性,但这似乎也被忽略,因为重新传递发生的时间早于定义的值:

<amq:queue id="jmsQueueDeclarationSnd"  physicalName="${jms.queue.declaration.snd}" >
<amq:properties>
<amq:redeliveryPolicy maximumRedeliveries="6" initialRedeliveryDelay="15000" useExponentialBackOff="true" backOffMultiplier="5"/>
</amq:properties>
</amq:queue>

谢谢

最佳答案

我也使用了上面 Ivan 展示的方法 amq:connectionFactory

在升级到 ActiveMQ 5.7.0 时,我注意到这不再起作用(自从实现 https://issues.apache.org/jira/browse/AMQ-3224 以来)。无论如何,在阅读了我目前使用的 ActiveMQ 论坛上更好的帖子后:-

<amq:queue id="emailQueue" physicalName="emailQueue" />
<amq:queue id="smsQueue" physicalName="smsQueue" />

<!-- Wait 15 seconds first re-delivery, then 45, 135, 405, 1215, 3645 seconds -->
<bean id="redeliveryPolicy" class="org.apache.activemq.RedeliveryPolicy">
<property name="backOffMultiplier" value="3" />
<property name="initialRedeliveryDelay" value="15000" />
<property name="maximumRedeliveries" value="6" />
<property name="queue" value="*" />
<property name="redeliveryDelay" value="15000" />
<property name="useExponentialBackOff" value="true" />
</bean>

<amq:connectionFactory id="jmsFactory" brokerURL="yourProtocol/BrokerURL">
<property name="redeliveryPolicy" ref="redeliveryPolicy" />
</amq:connectionFactory>

请注意,对于任何在 6 次重试后未能重新传送的消息,ActiveMQ 将创建一个 DLQ.emailQueue' 或 DLQ.smsQueue 并将消息放入该队列中(将其从原始队列中出列)。

关于activemq - 如何在队列上设置 ActiveMQ redeliveryPolicy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333078/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com