Message channels consume memory, threads, and TCP slots on both queue managers. A link that transferred ten thousand messages at 02:00 and then sat idle until 14:00 does not need to hold a RUNNING session all morning unless your architecture requires it. DISCINT tells IBM MQ how long a channel may remain active without message traffic before the queue manager disconnects it to reclaim resources. When traffic returns, the channel can start again—often automatically when the XMITQ gains depth. Beginners confuse DISCINT with HBINT (liveness) and with manual STOP CHANNEL (operator action). This tutorial explains idle disconnect behavior, sensible values for batch versus always-on routes, interaction with channel auto-start, and operational signals when DISCINT is too aggressive.
Large estates host hundreds of channel definitions. If every route stayed RUNNING continuously, listener and channel agent resources would scale poorly. DISCINT is a cost control: quiet routes release TCP, busy routes stay connected or reconnect quickly. The trade-off is a small reconnect delay when traffic resumes—BINDING and TLS handshake cost paid again after idle period.
| Mechanism | Trigger | Goal |
|---|---|---|
| DISCINT | No messages for N seconds | Free idle resources |
| HBINT | Heartbeat failure | Detect dead connection |
| STOP CHANNEL | Operator command | Planned shutdown |
1234567DEFINE CHANNEL('NIGHTLY.TO.HUB') CHLTYPE(SDR) TRPTYPE(TCP) + CONNAME('hub.corp(1414)') XMITQ('XMIT.HUB') DISCINT(6000) DEFINE CHANNEL('ALWAYS.ON.PARTNER') CHLTYPE(SDR) TRPTYPE(TCP) + CONNAME('partner.corp(1414)') XMITQ('XMIT.P') DISCINT(0) ALTER CHANNEL('NIGHTLY.TO.HUB') CHLTYPE(SDR) DISCINT(3600) DISPLAY CHANNEL('NIGHTLY.TO.HUB') DISCINT DISPLAY CHSTATUS('NIGHTLY.TO.HUB') STATUS
DISCINT(6000) is roughly 100 minutes of idle time before disconnect—example only. DISCINT(0) typically disables automatic idle disconnect on many systems so the channel stays up for partners that require persistent sessions. Confirm on your queue manager with a test channel and DISPLAY CHSTATUS over time.
DISCINT is hanging up the phone when nobody has spoken for a long time, so you are not paying for an open line all night. When someone wants to talk again (new messages), you dial back (channel restarts).
When messages arrive on the transmission queue after idle disconnect, the queue manager typically starts the sender again—behavior depends on channel disposition and trigger settings. First message after idle may see higher latency due to TCP and TLS setup. For routes with strict latency SLAs, either lower DISCINT carefully or use DISCINT(0) and accept resource cost—document the business decision.
An idle-disconnected MQ channel closes TCP cleanly from MQ perspective. Firewalls may still time out differently than DISCINT. HBINT should remain below firewall idle drop if channels stay connected (DISCINT 0). If DISCINT disconnects often, heartbeats may not run while disconnected—ensure reconnect path is reliable.
Cluster channels may disconnect idle like SDR/RCVR. Repository traffic might keep some cluster links busier than application routes—do not copy DISCINT from application SDR to CLUSSDR without analysis. Point-to-point partners in maintenance may prefer PAUSE CHANNEL over relying on long DISCINT during change windows.
DISCINT is how long MQ waits with no new messages before it closes the tunnel between two computers to save energy.
Route has one message every 30 minutes. DISCINT 1200. Describe likely channel state pattern.
When is DISCINT(0) appropriate versus DISCINT(3600)?
Compare DISCINT and HBINT in a table with two rows.
1. DISCINT is measured in:
2. DISCINT disconnects channels that are:
3. DISCINT vs HBINT—HBINT is for:
4. Very low DISCINT on a busy route may cause: