activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-2373) Expired Messages appear through policy entry on the DLQ and are also processed from the main Queue
Date Fri, 01 Apr 2011 11:22:17 GMT

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

Gary Tully updated AMQ-2373:
----------------------------

    Fix Version/s:     (was: 5.5.0)
                   5.6.0

> 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

Mime
View raw message