- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在队列上的 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/
如何在队列上的 ActiveMQ 中设置 redeliveryPolicy? 1) 在文档中,请参阅:activeMQ Redelivery ,说明您应该在 ConnectionFactory 或 C
我正在使用: SpringBoot 2.0.4 ActiveMQ 5.15.5 Apache Camel 2.22.0 Java 1.8 绝妙 Maven 基本上,我有一个带有 Apache Came
我正在寻找在定义的重试次数后将所有消息发送到死信队列的正确方法。 由于 redeliveryPlugin 仅适用于本地存储,因此破坏了我们基于 JDBC 的 HA 配置,因此我们决定将所有消息运行到
我正在使用 ActiveMQ 5.7.0 并尝试实现重新交付策略。我有两个队列需要为其设置重新传递策略。但是在测试中,它不适用我的策略。它没有遵循下面的配置,而是以 1 秒的间隔重试 7 次(不是我指
所以我正在使用 activemq 设置 Spring jms。我正在测试我的设置。 我正在尝试设置 redeliverypolicy,以便它不会立即重试,但我注意到在我的日志记录 + activemq
我在 OSGI 环境 (Karaf) 上遇到了 Camel 和 Activemq 的一些问题。如果失败,我希望队列中的消息能够重新传递!但我想在重试之前延迟。 我找到了类 org.apache.act
我正在使用 spring-boot-starter-activemq与 PoolFactory .一切正常,通过 application.yaml 轻松配置,但我找不到正确的方法来注入(inject)
如何在使用 Spring Boot 时更改嵌入式 ActiveMQ 的重新传递策略?我尝试在 DefaultJmsListenerContainerFactory 上指定 FixedBackOff 但
我是一名优秀的程序员,十分优秀!