Ask the Expert

How do I find out how many messages are in a JMS queue?

How do I find out how many messages are in a JMS queue? In MQ I would have used MQQueue.getCurrentDepth(), but there does not seem to be an equivalent in JMS.

    Requires Free Membership to View

In JMS, the only portable solution to determine the number of messages in a queue is to create a javax.jms.QueueBrowser object. With the QueueBrowser, you can enumerate and count the messages in the queue, without consuming the messages.

This works well if the queue is rather small (up to 100 messages maybe), but can be very time consuming if there are many messages in the queue.

A JMS provider can offer administration APIs that allow you to obtain the number of message in a queue, in a more efficient manner. But these are vendor proprietary extensions and limit the portability of your JMS application.


This was first published in February 2002

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: