Action notifications

Although the MQSeries interface is asynchronous, the client can receive action notifications back from KCM Core over a reply queue. In order to do this, the client has to set the ReplyToQMgr and ReplyToQ fields in the descriptor of the request message and set the type of the message to MQMT_REQUEST. Action notifications have type MQMT_REPORT, format MQFMT_STRING, and one of the following feedback codes:

  1. MQFB_PAN. A Positive Action Notification. These messages are sent after the request has been processed successfully, but only if the MQRO_PAN option was used in the Report field of the request message descriptor. If sent, no more report messages are sent for this particular request. Positive action notifications contain a string that indicates that the job has completed successfully.
  2. MQFB_NAN. A Negative Action Notification. These messages are sent after a failure, but only if the MQRO_NAN option was used in the Report field of the request message descriptor. If sent, no more report messages are sent for this particular request. Negative action notifications contain a Unicode message string that explains what went wrong.

Apart from these KCM Core related reports, the options in the Report field of the request message descriptor may be used to control the following:

  • Report messages generated by MQSeries such as confirmation of delivery. These messages are only delivered after the job is finished and committed.
  • The contents of MsgId and CorrelId fields in progress messages. You can use these identifiers to relate report messages to the original request.

No negative action notifications are sent if KCM Core shuts down in a normal way. It waits for running jobs to complete. Jobs that have not yet begun executing are backed out to the request queue, so that they can be processed at another time.