Queues hold messages; channels move them between queue managers and bring remote clients to the server. A channel is not a queue—it is a configured path with a name, type, partner address, and behavior under failure. Enterprise MQ diagrams are dotted with SDR, RCVR, CLUSSDR, and SVRCONN lines. This overview explains message channel types, MQI client channels, how channels bind to transmission queues, sequence numbers and retry, cluster channels, and the attributes operators tune first. Channel-specific property tutorials follow later in this curriculum.
Sender (SDR) initiates outbound delivery from an XMITQ. Receiver (RCVR) accepts inbound partner connections. Server (SERVER) and requester (RQSTR) pair for pull-oriented designs where the side with messages uses requester to ask the server to start sender. Cluster sender (CLUSSDR) and cluster receiver (CLUSRCVR) are specialized for cluster auto-routing. Each type has a CHLTYPE in MQSC; mismatched pairs on two queue managers prevent binding.
| CHLTYPE | Runs on | Role |
|---|---|---|
| SDR | Source QM (has XMITQ) | Sends messages outbound |
| RCVR | Target QM | Receives inbound messages |
| SVRCONN | Queue manager server | Client MQI connections |
| CLNTCONN | Client definition | Client-side partner def |
| CLUSSDR / CLUSRCVR | Cluster members | Cluster inter-QM traffic |
When a sender and receiver channel connect successfully, they are “bound.” Messages flow in order per channel for that path; sequence numbers detect gaps after network blips. If sequence mismatch occurs, the channel may stop until RESET CHANNEL or administrative fix—never ignore AMQ messages about sequence errors in production. BATCHSZ and BATCHINT trade latency for throughput by grouping messages.
Remote Java, .NET, and C applications use client mode: they connect to a queue manager through an SVRCONN channel defined on the server. The client channel table (CCDT) or MQSERVER variable names the channel and connection. MCAUSER on SVRCONN can set the OS user for authority checking. TLS and CHLAUTH protect SVRCONN the same as message channels.
DEFINE CHANNEL(CH1) CHLTYPE(SDR) XMITQ(QM2.XMIT) CONNAME(...) ties the channel to one transmission queue. All remote queues using that XMITQ share the channel path unless you define multiple channels and routes. DISPLAY CHSTATUS shows whether the channel is RUNNING, STOPPED, or RETRY and how many messages are outstanding.
SHORTTMR, LONGTMR, SHORTRTY, and LONGRTY control retry timing. HBINT and KAINT implement heartbeats to detect dead TCP. DISCINT influences disconnect intervals. SSLCIPH and SSLCAUTH secure the transport. Beginners should learn DISPLAY CHSTATUS before tuning—changing retry without understanding partner outage prolongs RETRY storms.
123456789101112* On QM1 (sender side) DEFINE QLOCAL('QM2.XMIT') REPLACE DEFINE CHANNEL('QM1.TO.QM2') CHLTYPE(SDR) TRPTYPE(TCP) + CONNAME('qm2.example.com(1414)') XMITQ('QM2.XMIT') REPLACE START CHANNEL('QM1.TO.QM2') * On QM2 (receiver side) DEFINE CHANNEL('QM1.TO.QM2') CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) REPLACE START LISTENER('LISTENER.TCP') DISPLAY CHSTATUS('QM1.TO.QM2') ALL
A channel is a designated road between two post offices. Trucks (messages) only use that road when the gate opens (channel started) and both ends agree on the same road name (matching channel names).
SDR RUNNING on QM1, RCVR STOPPED on QM2. Where do messages accumulate?
List differences between SDR and SVRCONN.
Channel in RETRY—five checks in order.
1. SDR channel reads messages from:
2. Matching channel names are required on:
3. SVRCONN is for:
4. CONNAME specifies: