Server Connection Channels

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.

MQI Channels on the Server

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.

SVRCONN vs message channel types
AspectSVRCONNSDR / RCVR / CLUSSDR
ConnectsIBM MQ client appPartner queue manager
PayloadMQI requestsQueued messages
Started byClient MQCONNXQM or XMITQ depth
Uses XMITQNoYes (senders)
Typical ops concernClient count, AUTHDepth, RETRY

Defining SVRCONN

shell
1
2
3
4
5
6
7
DEFINE 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.

Explainer: Bank Teller Window

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.

Listeners and Connection Names

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.

Security: CHLAUTH, TLS, and MCAUSER

  • CHLAUTH TYPE(ADDRESSMAP) can block unknown IP ranges from using SVRCONN names.
  • CHLAUTH TYPE(SSLPEERMAP) maps certificate DN to MCAUSER for passwordless mutual TLS.
  • CHLAUTH TYPE(USERMAP) maps asserted client usernames when using IDPWOS authentication.
  • Disable or replace sample channels; audit DISPLAY CHSTATUS regularly for unexpected names.

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.

Tuning Attributes Beginners Meet First

Common SVRCONN attributes
AttributeWhat it controls
MCAUSERDefault OS/user identity for MQI authority checks
SHARECNVConversations sharing one TCP connection
MAXINSTMaximum simultaneous channel instances
MAXINSTCPer-client connection instance limit
SSLCIPHTLS cipher specification when SSL enabled

Monitoring Client Channels

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.

SVRCONN vs SVR (Message Server)

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.

Explain Like I'm Five: Server Connection Channels

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.

Practice Exercises

Exercise 1

Write MQSC to define LISTENER and SVRCONN for an app channel ORDERS.APP with MCAUSER ordersrv.

Exercise 2

List three CHLAUTH rule types useful for securing SVRCONN.

Exercise 3

Explain why a growing XMITQ is not fixed by creating another SVRCONN.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Server connection CHLTYPE is:

  • SVRCONN
  • SDR
  • CLUSRCVR
  • RQSTR

2. SVRCONN is used by:

  • IBM MQ client applications
  • Transmission queues
  • Only batch JCL
  • FTP

3. SVRCONN vs SDR—SDR moves:

  • Messages between queue managers
  • Only LDAP
  • Only HTML
  • Spool files

4. Clients connect to SVRCONN through:

  • Listener port on queue manager
  • Outbound XMITQ
  • INITQ only
  • Topic sub only
Published
Read time19 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation