IBM MQ Family


By Morag Hughson posted 06-16-2015 05:00 PM

This is part of a series of small blog posts which will cover some of the smaller, perhaps less likely to be noticed, features of IBM MQ. Read other posts in this series.

Many MQ users have client applications which connect into their queue managers. These client applications run on machines all round the enterprise, and in some cases outside the enterprise. Often, little is known about the client machine because it is owned by the Line of Business application owners rather than the build and run team who look after the queue managers.


However, there is some information available to the administrators who run the queue managers about these client applications. You're probably already aware that you can discover the IP address of the client machine, and maybe even you knew that the application name of the client application was also available to you. But did you know that you can also tell what version of client code they are running and what kind of client it is, i.e. a C client, or a Java client or a .Net client etc?

At a time when you may be trying to ensure that your whole estate is up to at least a minimum level of the MQ product, it could be very useful to be able to ascertain the versions of MQ Clients which connect into your queue managers.

On the DISPLAY CHSTATUS command, some of the output includes RPRODUCT and RVERSION. RPRODUCT tells you what variant of client it is, e.g. C, Java, .NET etc. and RVERSION tells you the version of the client libraries. Some examples follow to illustrate this for you.

AMQ8417: Display Channel Status details.
CONNAME(                      CURRENT
RAPPLTAG(D:\nttools\mqmonntp.exe)       STATUS(RUNNING)
SUBSTATE(RECEIVE)                       RVERSION(08000002)

This is a V8.0.0 FP2 C-Client running the MO71 GUI mqmonntp.exe.

AMQ8417: Display Channel Status details.
CONNAME(                      CURRENT
RAPPLTAG(MQ Explorer 7.5.0)             STATUS(RUNNING)
SUBSTATE(RECEIVE)                       RVERSION(07050004)

This is a V7.5.0 FP 4 Java client running the MQ Explorer GUI.

AMQ8417: Display Channel Status details.
CONNAME(                      CURRENT
RAPPLTAG(JmsBrowser)                    STATUS(RUNNING)
SUBSTATE(RECEIVE)                       RVERSION(08000000)

This is a V8.0.0 GA JMS client running the one of the JMS samples.

Note how the two Java examples don't have the RAPPLTAG as java.exe, but instead show a more useful application name, the main class name for the sample, and a specifically set property that identifies the MQ Explorer. This very helpful addition was added to MQ Java clients in V7.5.0.

To interpret RVERSION, remember that each position in a V.R.M.F style numbering scheme is represented by 2 digits in the RVERSION output. While it may be obvious that 08000002 is V8.0.0.2, it is easy to misinterpret 07010000 as V7.0.1 when it is in fact V7.1.0.

RPRODUCT tells you about the MQ Client libraries in use. Thus, a client application written in COBOL and another written in C will both show up as MQCC because they both use the C Client libraries. There are several different possible client libraries if it is a Java application.

The full list of possible values for RPRODUCT can be found in Knowledge Center.

If the client is older than V7.0.0 then neither RPRODUCT nor RVERSION will be provided. However, remember that this still tells you something about that client!

Problems with RVERSION

If the client is a Java or JMS client at V7.5.0 prior to FixPack 4, or V7.0.1 prior to FixPack 10, the RPRODUCT will be correctly shown as MQJB or MQJM or MQJN but the RVERSION is not provided due to APAR IC99373 (V7.5) and APAR IC89770 (V7.0.1).

If the client is a managed .NET client at V9.0.0 prior to FixPack 2 (or CD V9.0.4) the RPRODUCT will be correctly shown as MQNM but the RVERSION is out of date due to APAR IT20932.

If the client is a .NET client at V8.0.0 prior to FixPack 5, or V7.5.0 prior to FixPack 6 the RPRODUCT will be correctly shown as MQNM but the RVERSION will show all zeros due to APAR IT07782.

I hope this information will help you to identify what all the different clients attaching to your queue managers are.

Morag Hughson is an MQ expert. She spent 18 years in the MQ Devt organisation before taking on her current job writing MQ Technical education courses with MQGem. She also blogs for MQGem. You can connect with her here on IMWUC or on Twitter and LinkedIn.




09-01-2017 12:59 AM

Small Update

Added some more APAR references.

07-14-2017 07:57 PM

Small Update

Updated this to mention APAR IT20932