[ 
https://issues.apache.org/jira/browse/AMQ-2373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish closed AMQ-2373.
-----------------------------

    Resolution: Incomplete

Need a test case to demonstrate the nature of this issue before it can be 
investigated further.

> 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/jira/browse/AMQ-2373
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.2.0
>            Reporter: Andrew Maharaj
>             Fix For: 5.6.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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to