[
https://issues.apache.org/activemq/browse/AMQ-2373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bruce Snyder updated AMQ-2373:
------------------------------
Fix Version/s: 5.5.0
(was: 5.4.1)
> Expired Messages appear through policy entry on the DLQ and are also
> processed from the main Queue
> --------------------------------------------------------------------------------------------------
>
> Key: AMQ-2373
> URL: https://issues.apache.org/activemq/browse/AMQ-2373
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.2.0
> Reporter: Andrew Maharaj
> Fix For: 5.5.0
>
>
> Hi,
> We have a policy entry like this:
> <destinationPolicy>
> <policyMap>
> <policyEntries>
> <policyEntry queue=">"
> memoryLimit="10mb">
>
> <deadLetterStrategy>
>
> <individualDeadLetterStrategy queuePrefix="DLQ."
> useQueueForQueueMessages="true" />
>
> </deadLetterStrategy>
> </policyEntry>
> <policyEntry topic=">"
> memoryLimit="10mb">
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
> Messages sent with an expiry time of 10 seconds appear on the Dead Letter
> Queue.
> However, if a Message Driven Bean ultimately picks up the message from the
> main queue in a transaction and the transaction is slow, the message can
> expire while the transaction is in progress.
> This leads to a situation where the message is processed twice, implying that
> the queue processing is not atomic.
> - The main MDB completes processing,
> - The expired message is moved to the DLQ
> - The MDB listening to the Dead Letter Queue also
> processes a response.
> Utlimately, responses for the expired message and for the in flight message
> are both generated. Neither operation reports any exceptions.
> The MDB's are simple, vanilla MDB's using Apache Geronimo 2.1.4 and referring
> to a separate ActiveMQ 5.2 installation (not the 4.1 shipped with Geronimo).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.