DISCINT (Disconnect Interval)

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.

Why Idle Disconnect Exists

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.

DISCINT vs HBINT vs manual STOP
MechanismTriggerGoal
DISCINTNo messages for N secondsFree idle resources
HBINTHeartbeat failureDetect dead connection
STOP CHANNELOperator commandPlanned shutdown

Setting DISCINT

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

Explainer: Hanging Up When the Conversation Ends

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).

Restart After Idle Disconnect

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.

DISCINT and Firewalls

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.

Symptoms of Bad DISCINT Tuning

  • CHSTATUS flipping RUNNING/INACTIVE every few minutes on low traffic—DISCINT too low.
  • Thousands of idle RUNNING channels—DISCINT zero everywhere without need.
  • First message after lunch hour slow—expected after idle disconnect; tune or set DISCINT 0.
  • Partner complains of constant TLS handshakes—align DISCINT with partner policy.

Cluster and Point-to-Point Notes

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.

Explain Like I'm Five: DISCINT

DISCINT is how long MQ waits with no new messages before it closes the tunnel between two computers to save energy.

Practice Exercises

Exercise 1

Route has one message every 30 minutes. DISCINT 1200. Describe likely channel state pattern.

Exercise 2

When is DISCINT(0) appropriate versus DISCINT(3600)?

Exercise 3

Compare DISCINT and HBINT in a table with two rows.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. DISCINT is measured in:

  • Seconds
  • Milliseconds
  • Messages
  • Bytes

2. DISCINT disconnects channels that are:

  • Idle with no messages
  • Always in RETRY
  • Only SVRCONN
  • Only DLQ

3. DISCINT vs HBINT—HBINT is for:

  • Detecting dead TCP while active
  • Batch size
  • MAXMSGL
  • SSL cipher only

4. Very low DISCINT on a busy route may cause:

  • Connect/disconnect churn
  • Higher MAXMSGL
  • No listener
  • Topic errors
Published
Read time16 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation