[ 
https://issues.apache.org/jira/browse/AMQ-3320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13064239#comment-13064239
 ] 

Marcel Casado commented on AMQ-3320:
------------------------------------

Probably I'm missing something but I think that checking the number of 
consumers does not fix all the possible use cases that can go wrong. Like if I 
hit "purge" in jconsole for a "queue" with slow consumers and remaining 
messages in the queue. The removed messages are going to cause the creation of 
advisory messages.  

> ActiveMQ.Advisory.MessageConsumed.TempQueue and AMQ.A.MC.Queue Topics receive 
> advisory messages when TQ or Queue are purged
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3320
>                 URL: https://issues.apache.org/jira/browse/AMQ-3320
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.4.2, 5.5.0
>            Reporter: Marcel Casado
>            Priority: Minor
>         Attachments: AdvisoryTempDestinationTests.java
>
>
> I have enabled <policyEntry tempQueue="true" advisoryForConsumed="true" /> in 
> the broker so I can subscribe to 
> "ActiveMQ.Advisory.MessageConsumed.TempQueue.>" to get notified of messages 
> consumed on a tempQueue/s. When client shuts down 
> if remaining messages are in the tempQueue an advisory message is generated 
> and send to the ActiveMQ.Advisory.MessageConsumed.TempQueue topic for each 
> message for that tempQueue. The same will happen if purge() is called on a 
> TempQueue or Queue for example through JMX.  
> In my application I need to know if a message is consumed by a client but I 
> can not differentiate between a client "ack" massage and one "ack" by the 
> broker when the tempQueue is "disposed" looking to the message sent to the 
> ActiveMQ.Advisory.MessageConsumed.TempQueue... . 
>  
> Looking at the code for TempQueue and Queue this is the sequence :
> TempQueue.dispose(context) --> purge() --> removeMessage() -> acknowledge() 
> --> messageConsumed() 
> This is kind of a conceptual issue since myself consider that removing a 
> message due a purge or a tempQueue cleanup should not trigger a 
> messageConsumed advisory.
> Original ActiveMQ users post : 
> http://activemq.2283324.n4.nabble.com/ActiveMQ-Advisory-MessageConsumed-TempQueue-problem-td3510067.html

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to