Channel-exit programs for MQI channels

Three types of channel exit are available to the IBM MQ MQI client environment on UNIX, Linux, and Windows.

These are:

  • Send exit
  • Receive exit
  • Security exit

These exits are available at both the client and the server end of the channel. Exits are not available to the application if we are using the MQSERVER environment variable. Channel exits are explained in Channel exit programs for messaging channels.

The send and receive exits work together. There are several possible ways in which we can use them:

  • Splitting and reassembling a message
  • Compressing and decompressing data in a message (this functionality is provided as part of IBM MQ, but you might want to use a different compression technique)
  • Encrypting and decrypting user data (this functionality is provided as part of IBM MQ, but you might want to use a different encryption technique)
  • Journaling each message sent and received

We can use the security exit to ensure that the IBM MQ client and server are correctly identified, and to control access.

If send or receive exits on the server-connection side of the channel instance need to perform MQI calls on the connection with which they are associated, they use the connection handle provided in the MQCXP Hconn field. We must be aware that client-connection send and receive exits cannot make MQI calls.

  • Path to exits
    A default path for location of the channel exits is defined in the client configuration file. Channel exits are loaded when a channel is initialized.
  • Security exits on a client connection
    We can use security exit programs to verify that the partner at the other end of a channel is genuine. Special considerations apply when a security exit is applied to a client connection.
  • Identifying the API call in a send or receive exit program
    When we use MQI channels for clients, byte 10 of the agent buffer identifies the API call in use when a send or receive exit is called. This is useful for identifying which channel flows include user data and might require processing such as encryption or digital signing.

Parent topic: Configure connections between the server and client


Related concepts


Related reference


Related information