What applications run on an IBM MQ MQI client?

The full MQI is supported in the client environment.

This enables almost any IBM MQ application to be configured to run on an IBM MQ MQI client system by linking the application on the IBM MQ MQI client to the MQIC library, rather than to the MQI library. The exceptions are:

If read ahead is enabled, to improve non persistent messaging performance, not all MQGET options are available. The table shows the options that are allowed, and whether they can be altered between MQGET calls.

Values Permitted when read ahead is enabled and can be altered between MQGET calls Permitted when read ahead is enabled but cannot be altered between MQGET calls 1 MQGET options that are not permitted when read ahead is enabled 2
MQGET MD values MsgId 3
CorrelId 3
Encoding
CodedCharSetId
 
MQGET MQGMO options MQGMO_WAIT
MQGMO_NO_WAIT
MQGMO_FAIL_IF_QUIESCING
MQGMO_BROWSE_FIRST 4
MQGMO_BROWSE_NEXT 4
MQGMO_BROWSE_MESSAGE
_UNDER_CURSOR 4

MQGMO_SYNCPOINT_IF_PERSISTENT
MQGMO_NO_SYNCPOINT
MQGMO_ACCEPT_TRUNCATED_MSG
MQGMO_CONVERT
MQGMO_LOGICAL_ORDER
MQGMO_COMPLETE_MSG
MQGMO_ALL_MSGS_AVAILABLE
MQGMO_ALL_SEGMENTS_AVAILABLE
MQGMO_MARK_BROWSE_HANDLE
MQGMO_MARK_BROWSE_CO_OP
MQGMO_UNMARK_BROWSE_CO_OP
MQGMO_UNMARK_BROWSE_HANDLE
MQGMO_UNMARKED_BROWSE_MSG
MQGMO_PROPERTIES_FORCE_MQRFH2
MQGMO_NO_PROPERTIES
MQGMO_PROPERTIES_IN_HANDLE
MQGMO_PROPERTIES_COMPATIBILITY

MQGMO_SET_SIGNAL
MQGMO_SYNCPOINT
MQGMO_MARK_SKIP
_BACKOUT
MQGMO_MSG_UNDER
_CURSOR 4
MQGMO_LOCK
MQGMO_UNLOCK

MQGMO values   MsgHandle  
  1. If these options are altered between MQGET calls an MQRC_OPTIONS_CHANGED reason code is returned.
  2. If these options are specified on the first MQGET call then read ahead is disabled. If these options are specified on a subsequent MQGET call a reason code MQRC_OPTIONS_ERROR is returned.
  3. The client applications need to be aware that if the MsgId and CorrelId values are altered between MQGET calls messages with the previous values might have already been sent to the client and remain in the client read ahead buffer until consumed (or automatically purged).
  4. The first MQGET call determines whether messages are to be browsed or got from a queue when read ahead is enabled. If the application attempts to use a combination of browse and get an MQRC_OPTIONS_CHANGED reason code is returned.
  5. MQGMO_MSG_UNDER_CURSOR is not possible with read ahead. Messages can be browsed or got when read ahead is enabled but not a combination of both.

An application running on an IBM MQ MQI client can connect to more than one queue manager concurrently, or use a queue manager name with an asterisk (*) on an MQCONN or MQCONNX call (see the examples in Connect IBM MQ MQI client applications to queue managers ).

Parent topic: Why use IBM MQ clients?