Thanks!

So it sounds like I can browse the queue, find matching messages, and then use 
the delete-by-ID call?  Can I get the ID from a JMS message, or do I need to be 
at the AMQ API level for that?

john




[rg] <https://www.redpointglobal.com/>

John Lilley

Data Management Chief Architect, Redpoint Global Inc.

888 Worcester Street, Suite 200 Wellesley, MA 02482

M: +1 7209385761<tel:+1%207209385761> | 
john.lil...@redpointglobal.com<mailto:john.lil...@redpointglobal.com>
From: Justin Bertram <jbert...@apache.org>
Sent: Thursday, April 13, 2023 2:59 PM
To: users@activemq.apache.org
Subject: Re: deleting matching message from queue

*** [Caution] This email is from an external source. Please use caution 
responding, opening attachments or clicking embedded links. ***

If you want to remove messages from a queue via the management API there are a 
couple of methods you can use:

 - removeMessage[1]: this method takes a messageID which allows you to remove a 
specific message (assuming you know its ID)
 - removeMessages[2]: this method takes a filter [3] which allows you to remove 
any message which matches the filter; if you pass an empty/null filter then 
*all* the messages will be removed

The main thing to keep in mind with filters is that they operate on message 
headers and properties only. They don't operate on the *content* of the 
message. The only exception to this is if you're using an XPath filter [4], but 
that requires your message to be XML formatted text.


Justin

[1] 
https://activemq.apache.org/components/artemis/documentation/javadocs/javadoc-latest/org/apache/activemq/artemis/api/core/management/QueueControl.html#removeMessage(long)
[2] 
https://activemq.apache.org/components/artemis/documentation/javadocs/javadoc-latest/org/apache/activemq/artemis/api/core/management/QueueControl.html#removeMessages(java.lang.String)
[3] 
https://activemq.apache.org/components/artemis/documentation/latest/filter-expressions.html
[4] 
https://activemq.apache.org/components/artemis/documentation/latest/filter-expressions.html#xpath

On Thu, Apr 13, 2023 at 12:28 PM John Lilley 
<john.lil...@redpointglobal.com.invalid<mailto:john.lil...@redpointglobal.com.invalid>>
 wrote:
Greetings,

I am using the queue-based ManagementHelper interface, which I use to enumerate 
queues, browse messages, and purge queues.
I would like to remove one or more matching messages from a queue.  But I can’t 
quite see how to do that.  The “matching” requires deserialization of the 
message to examine its contents.
It doesn’t need to be fast.

Thanks
John




[rg]<https://linkprotect.cudasvc.com/url?a=https%3a%2f%2fwww.redpointglobal.com%2f&c=E,1,YazC3O6Rk_C3QclXNw83NFNRnnQ9YPi0hEes8vPJqHzXJUsoaXe01R6hy40uunsYvfKvZYEeJjCwKApTcsjUtkGbAz21xJ6lAdMifPxvtqd5foYFyZZbbmcx&typo=1>

John Lilley

Data Management Chief Architect, Redpoint Global Inc.

888 Worcester Street, Suite 200 Wellesley, MA 02482

M: +1 7209385761<tel:+1%207209385761> | 
john.lil...@redpointglobal.com<mailto:john.lil...@redpointglobal.com>

PLEASE NOTE: This e-mail from Redpoint Global Inc. (“Redpoint”) is confidential 
and is intended solely for the use of the individual(s) to whom it is 
addressed. If you believe you received this e-mail in error, please notify the 
sender immediately, delete the e-mail from your computer and do not copy, print 
or disclose it to anyone else. If you properly received this e-mail as a 
customer, partner or vendor of Redpoint, you should maintain its contents in 
confidence subject to the terms and conditions of your agreement(s) with 
Redpoint.

PLEASE NOTE: This e-mail from Redpoint Global Inc. (“Redpoint”) is confidential 
and is intended solely for the use of the individual(s) to whom it is 
addressed. If you believe you received this e-mail in error, please notify the 
sender immediately, delete the e-mail from your computer and do not copy, print 
or disclose it to anyone else. If you properly received this e-mail as a 
customer, partner or vendor of Redpoint, you should maintain its contents in 
confidence subject to the terms and conditions of your agreement(s) with 
Redpoint.

Reply via email to