Errors detected by the CICS bridge cause the bridge to:
Any further request messages in the same unit of work are removed from the request queue and copied to the dead-letter queue, either during error processing for this unit of work or at the next initialization of the monitor. No further error messages are generated.
Unexpected messages are removed from the request queue during monitor initialization and put on the dead-letter queue, passing all context. No error reply messages are generated.
If sending a reply message fails, the CICS Bridge puts the reply on the dead-letter queue, passing identity context from the CICS bridge request queue. A unit of work is not backed out if the reply message is successfully put on the dead-letter queue. Failure to put a reply message on the dead-letter queue is treated as a request error, and the unit of work is backed out.
If the CICS bridge fails to put a request message on the dead-letter queue, the CICS bridge task abends and leaves the CICS bridge monitor to process the error. If the monitor fails to copy the request to the dead-letter queue, the monitor abends.
Failure to put an error reply is ignored by the CICS bridge. The request message has already been copied to the dead-letter queue and the unit of work has been backed out by WebSphere MQ.
Figure 18 shows what happens when an error occurs in a unit of work.
Figure 18. User program abends (only program in the unit of work)
In this figure:
The monitor task browses the request queue awaiting the arrival of a message. When a message arrives, it:
The CICS bridge task
When these tasks are complete, the user program abends.
The CICS bridge task abend handler is driven, which:
If the request message includes the name of a reply-to queue: