Messages that are backed out
When processing messages from a queue under the control of a unit of work, the unit of work could consist of one or more messages. If a backout occurs, the messages which were retrieved from the queue are reinstated on the queue, and they can be processed again in another unit of work. If the processing of a particular message is causing the problem, the unit of work is backed out again. This could cause a processing loop. Messages which were put to a queue are removed from the queue.
An application can detect messages that are caught up in such a loop by testing the BackoutCount field of MQMD. The application can either correct the situation, or issue a warning to an operator.
In WebSphere MQ for z/OS, to ensure that the back-out count survives restarts of the queue manager, set the HardenGetBackout attribute to MQQA_BACKOUT_HARDENED; otherwise, if the queue manager has to restart, it does not maintain an accurate back-out count for each message. Setting the attribute this way adds the penalty of extra processing.
In WebSphere MQ for iSeries, MQSeries for OS/2 Warp, WebSphere MQ for Windows, MQSeries for Compaq OpenVMS Alpha, and WebSphere MQ on UNIX systems, the back-out count always survives restarts of the queue manager. Any change to the HardenGetBackout attribute is ignored.
For more information on committing and backing out messages, see Chapter 13, Committing and backing out units of work.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.