activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Allen Reese <are...@yahoo-inc.com>
Subject RE: AMQ-3404 & querying via JMX
Date Wed, 20 Jul 2011 03:20:38 GMT
OK this is actually what is missing from the purge command.
Earlier I thought it was that the JMX selectors worked wrong, but really it's a matter of
getting a QueueViewMbean, and using that to remove the messages or match the selector.

I'm going to fix the junk I call a test into a junit test, and make it exercise the PurgeCommand
class, and then I'll have a patch to fix AMQ-3404.

--Allen

> -----Original Message-----
> From: Timothy Bish [mailto:tabish121@gmail.com]
> Sent: Monday, July 18, 2011 2:23 PM
> To: dev@activemq.apache.org
> Subject: Re: AMQ-3404 & querying via JMX
> 
> On Mon, 2011-07-18 at 14:15 -0700, Allen Reese wrote:
> > I'm looking at the patch we have put together for AMQ-3404 (Fix the Purge command
to use message
> selectors), and I've run into something that just doesn't seem right.
> >
> > In order to create the list of messages to remove, an AmqMessagesQueryFilter is
created, and this
> requires a broker URL.  However, the rest of the purge command is done using JMX commands.
> >
> > The added code is something like this:
> > // apply additive operations.
> > List messages = AmqMessagesUtil.getMessages(getBrokerUrl(), dest, queryAddObjects);
> > context.printInfo("Messages are: "+ messages.toString());
> >
> > // apply subtraction operations
> > if (querySubObjects.size() > 0) {
> > 	List subMsgs = AmqMessagesUtil.getMessages(getBrokerUrl(), dest, querySubObjects);
> > 	messages.removeAll(subMsgs);
> > }
> >
> > purgeMessages(queueName, messages);
> >
> > Is there any way to do the query over JMX instead of creating a JMS connection to
the broker? I'm
> hesitant to send in a patch that adds what feels like an extreme hack.
> >
> > Allen Reese
> > Core Platforms
> > Yahoo! Inc.
> 
> The QueueViewMBean has a method "removeMatchingMessages" that takes a
> selector, doesn't that do what you want?  If not what is the use case?
> 
> Regards
> Tim.
> 
> 
> --
> Tim Bish
> ------------
> FuseSource
> Email: tim.bish@fusesource.com
> Web: http://fusesource.com
> Twitter: tabish121
> Blog: http://timbish.blogspot.com/
> 
> 


Mime
View raw message