CICS processes millions of short transactions per day; IBM MQ carries asynchronous work and enterprise events. The CICS-MQ bridge is the umbrella of techniques that connect those worlds—applications calling the Message Queue Interface inside a CICS task, trigger monitors starting programs when messages land, and syncpoint coordination keeping DB2 rows and MQ messages aligned. Banks still route authorization requests from MQ into CICS programs written in COBOL; retailers trigger inventory updates when warehouse messages arrive. Beginners should not assume MQ is only for Java in the cloud; on z/OS, CICS is often the consumer of record. This tutorial explains bridge concepts versus raw MQI, trigger-driven entry, transaction definition requirements, security through CICS and RACF, error handling and abends, performance considerations for high MQ volume into CICS, and how bridge patterns differ from distributed JMS listeners.
| Pattern | How work starts | Typical use |
|---|---|---|
| MQI in application | User transaction calls MQGET/MQPUT | Request/reply in same task |
| Trigger to CICS | MQ trigger starts CKTI then app | Message-driven batch style |
| Bridge transaction | Specialized bridge prog | Legacy integration |
| Distributed bridge | Channels from remote QM | Hybrid cloud to CICS |
Application programs link to MQ calls or use EXEC CICS wrappers depending on site standards. The task connection to the queue manager uses definitions in CICS and MQ that map the region to the correct QSG member. Units of work may end with EXEC CICS SYNCPOINT including MQ operations when coordination is enabled. Long MQGET waits inside CICS tasks can tie up transaction slots—architects use trigger patterns or shorter timeouts for high volume. Return codes must map to CICS HANDLE CONDITION or explicit error branches so poison messages do not loop silently.
123456789Conceptual CICS task flow: Transaction START -> MQCONN / implicit connection -> MQGET from WORK.IN -> update VSAM or EXEC SQL Db2 -> MQPUT reply to WORK.OUT -> EXEC CICS SYNCPOINT Transaction END
A message on a queue satisfies trigger criteria; IBM MQ issues a trigger message to the initiation queue; CICS runs the trigger monitor (CKTI) which starts the application transaction with context from the trigger data. This decouples producers from CICS transaction IDs. Misconfigured PROCESS or TRIGGER objects cause messages to sit without CICS ever starting—operations watches depth on the application queue and initiation queue together.
The CICS region connects to MQ with a defined user; applications may run under transaction IDs with different authority. RACF checks MQ objects for put and get. Bridge patterns must not bypass controls by running all tasks in overly powerful IDs. Audit both CICS and MQ logs for failed authority during penetration tests.
Each message-driven transaction consumes CICS task and MQ handle resources. Burst traffic from MQ can flood CICS MAXTASK limits. Throttle at MQ (backout, depth alerts) and CICS (max active, workload management). Consider shared queues on QSG for inbound work queues accessed from multiple LPARs serving CICS regions.
The bridge is the reception desk that phones the right CICS worker when a package (message) arrives, or hands the worker a phone (MQI) to call the warehouse directly during an existing conversation.
The bridge helps the CICS program know when mail arrived in IBM MQ and helps it send mail back without leaving the CICS building.
Diagram trigger flow from MQPUT to CICS application start for one queue at your site.
List CICS and MQ definitions required for one new trigger-driven transaction.
When would you avoid long MQGET in a CICS task and use triggers instead?
1. CICS-MQ integration is primarily on:
2. Trigger patterns start:
3. CICS SYNCPOINT may:
4. Bridge decouples: