Set up WebSphere MQ

  1. Define a local queue for the request messages.

    We can use the sample thlqual.SCSQPROC(CSQ4CKBM) to define a queue named SYSTEM.CICS.BRIDGE.QUEUE, or define your own. If you define your own, set the following attribute:

    SHARE

    So that both the monitor and the bridge tasks can read it.

    If recovery is required, set the following attributes:

    DEFPSIST(YES)

    Set messages as persistent on the queue by default.

    HARDENBO

    Set HARDENBO to ensure that the count of the number of times that a message has been backed out is accurate.

    BACKOUTQ

    If the bridge encounters an error while processing a message, it will attempt to write the request messages to the backout requeue queue for the queue. If no backout queue is specified, or it cannot be used, the messages will be put to the dead-letter queue.

    If you want to process messages in FIFO sequence, set the following attribute:

    MSGDLVSQ(FIFO)

    Otherwise, messages will be processed in priority sequence.

    If the request queue is defined with QSGDISP(SHARED), also define it with INDXTYPE(CORRELID). This setting is also recommended for non-shared queues.

    If you want to start the bridge by triggering, set the following attributes:

    TRIGGER TRIGTYPE(FIRST) PROCESS(procid)

    where procid is a process specifying APPLICID(CKBR). For more information on running the CKBR transaction, see WebSphere MQ for z/OS System Administration Guide.

  2. Define one or more queues to hold the responses, as required. If your response queue is remote, define a transmission queue to hold the responses before they are forwarded to the response queue.

  3. Ensure that a dead-letter queue is defined and a procedure is defined for processing messages on this queue.

  4. Ensure that the LE libraries are included in the CICS library concatenation.

  5. Ensure that the WebSphere MQ-CICS adapter is enabled.

If the bridge is to be accessed remotely from WebSphere MQ, we need channel and transmission queue definitions, and a remote queue definition for the request queue. For more information about using remote queues see WebSphere MQ Intercommunication.

Consider specifying BOQNAME and BOTHRESH on the bridge requests queue to ensure that messages are put to the specified backout queue when a message has been processed and backed out BOTHRESH times, rather than being placed on the dead-letter queue. If you specify a backout queue, put a process in place to process messages on this queue.

If 3270 bridge reply messages are sent to a non-z/OS system, the sender channel should specify the CONVERT(YES) option.

Notes:

  1. The WebSphere MQ queue defined to hold requests for the CICS bridge must not be used by any other application.

  2. Do not attempt to run multiple bridge monitors on a shared queue with bridge monitors attached to a system earlier than WebSphere MQ V5.3.1. This will lead to unpredictable results.