Hi Yannan
I wrote a pretty complete Java Implementation of the QMF2 API which you can get from the Jira 3675 linked here.

https://issues.apache.org/jira/browse/QPID-3675

I've got absolutely no idea if this has made it into Qpid proper, it's marked down as assigned to Ted Ross.

Unfortunately I've had no feedback on this and my only mechanism for doing anything with it is via the Jira.

I must admit that I'm a little bit frustrated, I put a load of effort into it and I'm simply not sure if there's any take up. I'm not aware of any other Java implementation of the QMF2 API though there are a few examples of basic QMF2 protocol Map Message passing out there.

To answer your question there is no way to just get the queue names without getting the QmfData Map objects. Basically you initially have to do getObjects("queue") - or the low-level protocol equivalent.

However once you have retrieved the queue objects you can go through them looking for the one with the name that you want (the "name" property IIRC).where you

Once you've found that you can get the _object_id from it (it's just a property) and given that then you can then do a query based on the _object_id

In the QMF2 API the refresh() method on a QmfConsoleData Object does just that - but you need to have done an initial getObjects to get the list.

Technically there's another way - using the API you can set up a "query subscription" can pass the queue name as part of the query and get the updates pushed to you. The broker (at least up to 0.12, which is what I'm currently using) doesn't actually support the query subscription part of the API so I actually emulated it within the Console itself (if a query subscription is added the Console subscribes to object updates and applies the required filters).


FWIW there's one fairly notable bug in my implementation, basically if there are more than 100 management objects the broker sends partial updates. The version I've posted to the Jira doesn't support this, though the version I'm working on does (I've tested with 1000's of connections, queues etc.)

I've not posted any updates 'cause I'm working on some fancy new features. Primarily I'm writing a fancy HTML5 web UI to enable full management and monitoring of potentially multiple brokers. It's working on browsers from IE6 to mobile safari. There's still a fair bit to do (I'm working on adding queues remotely at the moment). In support of the Web UI I've been writing a full REST API around the QMF2 API.

I'd like to think all of this might be useful to someone, It's been over a year of weekends including the original QMF2 API development, but the apparent lack of interest is leaving me a little demotivated - I'm mainly carrying on because it's useful to me, there aren't any other really good UIs for Qpid/QMF that I'm aware of.


Regards,
Frase




On 12/10/12 22:49, yannanlu wrote:
With the example java code, I am able to query a full list of queue objects
from a C++ broker. Is there a way to query just a list of names for all the
queues without their detailed attributes?

How can I query just one object if I know the queue name? Where to look up
the _objectId for a known queue?

Thanks,

Yannan



--
View this message in context: 
http://qpid.2158936.n2.nabble.com/how-to-query-a-single-object-with-QMF2-tp7583228.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to