[
https://issues.apache.org/jira/browse/ARTEMIS-2417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16882317#comment-16882317
]
hemanth commented on ARTEMIS-2417:
----------------------------------
Hello,
I'm facing similar issue.
Artemis keeps ignoring the <redelivery-delay>10000</redelivery-delay> and
<max-delivery-attempts>3</max-delivery-attempts> from broker.xml and
defaulting to 10 retry attempts and then moving the message to DLQ when client
is rolling back the session.
I'm using JMSTemplate (org.springframework.jms.core.JmsTemplate) for sending
the messages across the queue.
> Broker redelivery policy delays all messages currently on queue
> ---------------------------------------------------------------
>
> Key: ARTEMIS-2417
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2417
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.9.0
> Environment: I have been running Artemis on a docker container based
> on:
> FROM openjdk:8-jre-alpine
> Reporter: Ben Thurley
> Priority: Major
>
> *Steps to recreate:*
> # Create a queue with the following settings in {{broker.xml}}:
> {code:xml}
> <address-settings>
> <address-setting match="jms.queue.TestQueue">
> <dead-letter-address>DLQ</dead-letter-address>
> <redelivery-delay>10000</redelivery-delay>
> <max-delivery-attempts>3</max-delivery-attempts>
> </address-setting>
> </address-settings>
> <addresses>
> <address name="DLQ">
> <anycast>
> <queue name="DLQ" />
> </anycast>
> </address>
> <address name="jms.queue.TestQueue">
> <anycast>
> <queue name="jms.queue.TestQueue" />
> </anycast>
> </address>
> </addresses>{code}
> # Publish several messages to the queue without a delay between messages
> (I'm using JmsTemplate in Spring and CORE)
> # Have a consumer consume the messages and throw an exception to allow the
> redelivery policy to take affect
> *Expected behaviour:*
> The documentation says the following:
> bq. Other subsequent messages will be delivery regularly, only the cancelled
> message will be sent asynchronously back to the queue after the delay.
> So I was expecting the failed message to go back as a scheduled message with
> a delay and the remaining messages to be attempted to be delivered as normal.
> This was also how things worked on ActiveMQ 5.x.
> *Actual behaviour:*
> In reality all of the messages arrive back on the queue as scheduled messages
> with whatever {{redelivery-delay}} is configured.
> If the messages are sent to the queue with a bit of a delay between them then
> it can work out that only the failed message is rescheduled with the delay.
> It's only the messages that happen to be on the queue when one fails that all
> get sent back and rescheduled.
> The first message that causes the failure (and redelivery) has it's delivery
> count incremented, the other messages weren't actually delivered and their
> delivery count is not incremented.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)