On 11/07/2013 03:58 PM, Christian Posta wrote:
Actually... after quick browsing the code (and i didn't try it yet...)
it looks like for non-durable subscriptions to a topic, the "message
consumed" advisory will not be fired because topic.acknowledge(...)
will not be called from TopicSubscription#acknowledge(...). Don't
think this is on purpose, therefore a missing feature/bug.

I can open a jira for this and get a patch+tests going if someone can
confirm this is not on purpose.. that is... non-durable topic messages
that get ack'd should also be fired to the message-consumed
advisories...

Wouldn't that result in a rush of advisories for each consumer that's subscribed to that Topic and acks that message?


On Thu, Nov 7, 2013 at 1:16 PM, Christian Posta
<christian.po...@gmail.com> wrote:
Should work the same for both queue and topic.
Can you verify you're listening to ActiveMQ.MessageConsumed.Topic.<topicname>?

On Thu, Nov 7, 2013 at 6:12 AM, jstordeur <jeremie.stord...@gmail.com> wrote:
Hello,

I'm running ActiveMQ 5.8. I'm trying to use advisory topics to monitore the
processing of the messages by the clients, I have enabled the following
advisory in the configuration file:

         /<destinationPolicy>
             <policyMap>
               <policyEntries>
                 <policyEntry topic=">" advisoryForConsumed="true"
advisoryForDelivery="true" >
                   <pendingMessageLimitStrategy>
                     <constantPendingMessageLimitStrategy limit="1"/>
                   </pendingMessageLimitStrategy>
                 </policyEntry>
                 <policyEntry queue=">" advisoryForConsumed="true"
advisoryForDelivery="true" />
                </policyEntries>
             </policyMap>
         </destinationPolicy>/

Now I have a client that uses CLIENT_ACKNOWLEDGE policy and that
intentionaly does not acknowledge the messages it receives.

When I use the client to consume from a queue and then send a message to
this queue, I can see one message arriving in the corresponding
/ActiveMQ.Advisory.MessageDelivered.Queue/
and if I acknowledge the message I see another arriving in
/ActiveMQ.Advisory.MessageConsumed.Queue/

So this is working exactly as I would expect it.
However when I eprform the same test with a topic, I see messages arriving
in the delivered advisory but I never have one in the Consumed one, even
when I acknowledge the message and even when using
Session::AUTO_ACKNOWLEDGE.

Is there something missing in the configuration?

Thank you for your time.



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Advisory-for-consumed-message-for-topics-tp4674005.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


--
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta




--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.b...@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply via email to