The sender channel (CHLTYPE SDR) is the outbound engine of distributed IBM MQ. When routing decides a message belongs on another queue manager, the local queue manager places it on a transmission queue; the sender channel wakes up, dials CONNAME, and pushes batches to the partner receiver. Every hub-and-spoke integration, every QREMOTE target, and every cluster outbound path ultimately depends on senders configured correctly. This page goes deeper than the sender/receiver concept overview: DEFINE and ALTER SDR attributes, XMITQ binding, automatic versus manual start, batching and MCAUSER, monitoring CHSTATUS, and distinguishing SDR from CLUSSDR for beginners building their first cross-queue-manager route.
Application MQPUT to a local queue stays on-box. MQPUT through QREMOTE or cluster resolution may internally target an XMITQ. The sender is the only component that reads that XMITQ for inter-manager transfer over message channels. If SDR is misconfigured, depth on XMITQ grows while applications believe they successfully put—downstream systems see nothing. Monitoring pairs XMITQ CURDEPTH with CHSTATUS for the matching SDR name.
| Attribute | Purpose |
|---|---|
| CHLTYPE(SDR) | Identifies sender message channel |
| XMITQ | Transmission queue to read |
| CONNAME | host(port) of partner listener |
| TRPTYPE(TCP) | TCP transport (typical) |
| MCAUSER | User context at receiver for authority |
| BATCHSZ / BATCHLIM | Batch size tuning |
| SHORTRTY / SHORTTMR | Retry after failure |
12345678DEFINE QLOCAL('XMIT.TO.LONDON') USAGE(XMITQ) MAXDEPTH(500000) DEFINE CHANNEL('PARIS.TO.LONDON') CHLTYPE(SDR) TRPTYPE(TCP) + CONNAME('london.mq.corp(1414)') XMITQ('XMIT.TO.LONDON') + MCAUSER('mqm') BATCHSZ(50) HBINT(300) + SHORTRTY(10) SHORTTMR(30) DEFINE QREMOTE('ORDERS.LON') RNAME('ORDERS.IN') RQMNAME('QM_LONDON') + XMITQ('XMIT.TO.LONDON') * Put to ORDERS.LON routes to XMITQ; SDR forwards
The channel name PARIS.TO.LONDON must match the RCVR definition name on QM_LONDON. CONNAME must reach a running LISTENER on London. XMITQ name is arbitrary but must be unique per sender path in most designs.
START CHANNEL('PARIS.TO.LONDON') creates an instance if none exists. Automatic triggering starts senders when XMITQ depth transitions from zero—behavior depends on queue manager and platform settings. STOP CHANNEL ends the instance; messages remain on XMITQ. PING CHANNEL tests connectivity without requiring application messages. RESET CHANNEL clears instance state when coordinated with partner—use cautiously.
The transmission queue is the loading dock pile. The sender channel is the truck that only drives to one partner warehouse (CONNAME). If the truck never leaves, the pile grows—that is your alert. The truck does not decide business logic; it only hauls what routing placed on the dock.
MCAUSER on SDR tells the receiver which user ID to use when putting messages to target queues. Mismatch with OAM on the target causes messages to land on DLQ or channel errors. Prefer dedicated service IDs per route. TLS and CHLAUTH on both ends authenticate the connection before MCAUSER applies at the protocol layer.
BATCHSZ limits messages per batch; BATCHLIM limits bytes. Larger batches improve throughput on high-latency links; smaller batches reduce recovery work after failure (see sequence numbers). HBINT and DISCINT tune keepalive and idle disconnect. Tune on representative message sizes, not empty tests.
CLUSSDR supports cluster repository traffic and inter-member forwarding. Point-to-point integrations between two named queue managers use SDR/RCVR. Do not point application QREMOTE at cluster channels without understanding cluster workload—use the cluster queues tutorial for application puts.
The sender channel is the delivery van that takes packages from your house's outgoing pile to your friend's house—you need the right address on the van door (CONNAME).
Write full MQSC for SDR, XMITQ, and QREMOTE for one remote application queue.
XMITQ depth 10,000, SDR INACTIVE—is that always an error?
Compare one SDR per partner versus shared XMITQ designs.
1. Sender channel CHLTYPE is:
2. Sender reads messages from:
3. CONNAME on SDR specifies:
4. Applications start sender channels by: