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


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.

Reply via email to