Server connection channels (CHLTYPE SVRCONN) are how remote applications talk to IBM MQ without running a full queue manager on the laptop, VM, or container. The queue manager listens on a TCP port; the client calls MQCONNX with a channel name; the server binds the session to a SVRCONN definition and honors MQPUT, MQGET, and subscribe requests against local objects. Cloud-native estates may have thousands of microservices each opening SVRCONN sessions to a central hub. This tutorial explains DEFINE SVRCONN, listener pairing, MCAUSER and CHLAUTH, TLS, SHARECNV and MAXINST tuning, differences from message channels, and operational patterns beginners need before opening production ports.
Message channels move bytes between queue managers from transmission queues. MQI channels move API semantics between a client library and one queue manager. The server side of that relationship is always SVRCONN. The optional client-side mirror definition is CLNTCONN, often omitted when connection parameters are in JSON, environment variables, or a CCDT file. Once connected, the application behaves largely like a local binding except for latency and the fact that all authority checks run on the server using the effective MCAUSER.
| Aspect | SVRCONN | SDR / RCVR / CLUSSDR |
|---|---|---|
| Connects | IBM MQ client app | Partner queue manager |
| Payload | MQI requests | Queued messages |
| Started by | Client MQCONNX | QM or XMITQ depth |
| Uses XMITQ | No | Yes (senders) |
| Typical ops concern | Client count, AUTH | Depth, RETRY |
1234567DEFINE LISTENER('CLIENT.TCP') TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) START LISTENER('CLIENT.TCP') DEFINE CHANNEL('PAYMENTS.APP') CHLTYPE(SVRCONN) TRPTYPE(TCP) + MCAUSER('apppay') SHARECNV(10) MAXMSGL(4194304) ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) * Client uses: QM name, channel PAYMENTS.APP, host port 1414 DISPLAY CHSTATUS('PAYMENTS.APP') WHERE(CHLTYPE EQ SVRCONN)
MCAUSER('apppay') means MQI operations under this channel run with that user ID unless overridden by CHLAUTH mapping or an adoption exit. Grant apppay only put/get/browse on queues the payments service needs. SHARECNV(10) allows up to ten conversations per connection—useful for connection pooling in Java. MAXMSGL caps message size on this channel path; align with queue MAXMSGL to avoid confusing 2030 errors.
SVRCONN is a labeled teller window at the bank (queue manager). Remote customers (clients) queue at the door (listener port) and ask for window PAYMENTS.APP. The bank decides what each customer may do based on their ID badge mapped to MCAUSER—not based on what they claim their name is without verification.
Clients need three essentials: queue manager name, channel name, and connection name (host/port or CCDT). The SVRCONN object does not embed the hostname clients should use—DNS and load balancers live in client configuration. When using a load balancer, ensure sticky behavior or dedicated ports compatible with MQ TCP expectations; blind round-robin breaks long-lived conversations.
SVRCONN is the most attacked surface in many MQ estates because it faces application networks. Pair network segmentation with strong authentication. See the MCAUSER tutorial for how identity flows from channel to object authority.
| Attribute | What it controls |
|---|---|
| MCAUSER | Default OS/user identity for MQI authority checks |
| SHARECNV | Conversations sharing one TCP connection |
| MAXINST | Maximum simultaneous channel instances |
| MAXINSTC | Per-client connection instance limit |
| SSLCIPH | TLS cipher specification when SSL enabled |
DISPLAY CHSTATUS WHERE(CHLTYPE EQ SVRCONN) lists active client sessions with REMADDR showing client IP. High instance counts may indicate connection leaks in application pools. Abrupt drops may correlate with firewall idle timeouts—tune KAINT heartbeat on channel and client. AMQP and MQTT use different objects; do not confuse their listeners with classic MQI SVRCONN unless you deploy those protocols.
SVR pairs with RQSTR for message forwarding across queue managers. SVRCONN never pairs with RQSTR. If integration documentation says “server channel” without CHLTYPE, clarify which family before implementing firewall rules—enterprise architects sometimes reuse wording from legacy materials.
A server connection channel is the special phone line name apps use to call the queue manager and ask it to put or get messages for them.
Write MQSC to define LISTENER and SVRCONN for an app channel ORDERS.APP with MCAUSER ordersrv.
List three CHLAUTH rule types useful for securing SVRCONN.
Explain why a growing XMITQ is not fixed by creating another SVRCONN.
1. Server connection CHLTYPE is:
2. SVRCONN is used by:
3. SVRCONN vs SDR—SDR moves:
4. Clients connect to SVRCONN through: