activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From colincrist <>
Subject Re: ActiveMQ JMX Questions..
Date Mon, 10 Jul 2006 20:19:53 GMT

Hey James,

Firstly, to reply to you comments..

> I've just added to SVN trunk a browseMessages() method (or one that
> takes a selector) to return a List of JMS Message objects.

Excellent, I'll check it out tomorrow. TVM.

>> I could
>> also imagine a "browseChangesSince" that included a timestamp and
>> returned
>> me the messages added and removed from that subscription queue.

> Could you use a selector I wonder to implement the timestamp range?

I thought that too but you only get new messages and no notification of
consumed messages before that point in time. If you want to use it to update
a GUI then you need to be able to remove consumed messages from some table
model or wahtever in Swing or JavaScript. I've not tried them but are JMX
notifications a good or bad idea for this? I think I'd like to control when
I get data.

> Am just wondering about the 'headers' version of this option. Would it
> include all possible headers (including user defined ones) - which
> could be quite big too - and just miss off the actual bodies? So kinda
> make empty JMS Message objects just excluding the body to represent
> the 'headers'?

Not really thought about the implications here, from my persective with
Hermes, just having the JMS header properties is enough. I could then
request to "fill in" the message later to get the rest of it. One question
here is whether I'd be interested to know if the message has been consumed
at this point in time. I'd probably either want to exclude consumed messages
or get them with some additional boolean  header property such as
JMSX_AcitiveMQ_Consumed being set.

Secondly, some other questions:

1. DurableSubscriptions 

When a broker is first started, the durable "Subscription" MBean looks like

Note how the "SubcriptionName" is both null and incorrectly spelt.

Once I've created a consumer for this durable subscription it looks like

See how we now have the correctly and incorrectly spelt "SubscriptionName"
filled in. I cannot correctly "discover" existing durable subcriptions the
way things currently work.

2. DurableSubscriptions again

I think the active=true/false should not be in the ObjectName. This also
goes for the DurableTopicSubscribers and InactiveDurableTopicSubscribers
attributes on the BrokerMBean - why the distinction at this level when the
attribute is available on the MBean? I would consider whether there is an
active consumer secondary to whether the subscription actually exists.

3. Lazy Queue MBean loading.

I only see queue MBeans once a consumer first exists after a Broker startup
even if there are messages pending. A management console needs to see all
object with state once the broker has started.

Happily, I've got an integration working quickly and if we can get the above
working okay then ActiveMQ will have as functional integration with Hermes
as its current plugin model allows. Next step is some cooler stuff like
dynamically creating subscriptions, queues, topics and whatever else we can
do via JMX.



View this message in context:
Sent from the ActiveMQ - User forum at

View raw message