IBM Support

State of an MQ running cluster sender channel after reaching the Disconnect Interval

Technote (FAQ)


You want to know into what state a WebSphere MQ running cluster sender channel goes after reaching the Disconnect Interval?


The channel goes into the INACTIVE state. It does not go into the STOPPED state.
See the Figure 2 "Flows between channel states" from this link of the MQ Information Center:

WebSphere MQ > WebSphere MQ 9.0.0 > IBM MQ > Configuring > Configuring distributed queuing > Introduction to distributed queue management > Channel control function >
Channel states

In the figure notice that when the cluster sender channel is in the RUNNING state, upon reaching the Disconnect Interval the channel goes into the STOPPING state (bottom of the figure).
Then, once the channel is in the STOPPING state it follows the path on the right side of the figure (Disconnect Interval expires) to reach the INACTIVE state (top of the figure).

In addition, the following link has more explanation about Disconnect Interval:

WebSphere MQ > WebSphere MQ 7.1.0 > WebSphere MQ > Reference > Configuration reference > Channel attributes > Channel attributes in alphabetical order >
Disconnect interval (DISCINT)

+ begin quote
The disconnect interval is the length of time after which a channel will close down if no message arrives on the transmission queue during that period.
This is a time-out attribute, specified in seconds, for the server, cluster-sender, sender, and cluster-receiver channels. The interval is measured from the point at which a batch ends, that is when the batch size is reached or when the batch interval expires and the transmission queue becomes empty. If no messages arrive on the transmission queue during the specified time interval, the channel closes down. (The time is approximate.)
+ end quote

++ Test Scenario:

The queue manager QM_ANGELITO is a full repository and has clustered queue Q_CLUSTER as a local queue. QM_ANGELITO has a cluster receiver channel TO.QM_ANGELITO.
The queue manager QM_PR1 is a partial repository and does not have a local queue Q_CLUSTER. QM_PR1 has a cluster-sender channel TO.QM_ANGELITO.

Messages are placed into QM_PR1 for the clustered queue:
amqsput Q_CLUSTER QM_PR1

Because the queue is a clustered one, the messages are forwarded from QM_PR1 to QM_ANGELITO which has a local copy via the channel TO.QM_ANGELITO.

From QM_PR1:
While the channel is still running:
runmqsc QM_PR1
AMQ8417: Display Channel Status details.

MQ Explorer shows the status as "Running"

Then, no further messages are issued and disconnect interval expires for the channel TO.QM_ANGELITO and it is no longer in status RUNNING:

runmqsc QM_PR1
AMQ8420: Channel Status not found.

MQ Explorer shows the status as "Inactive"

The error log AMQERR01.LOG for the queue manager QM_PR1 shows the following messages when the channel ends:

12/28/2011 14:06:59 - Process(9996.9) User(rivera) Program(amqrmppa.exe)
AMQ9545: Disconnect interval expired.
Channel 'TO.QM_ANGELITO' closed because no messages arrived on the transmission
queue within the disconnect interval period.
12/28/2011 14:06:59 - Process(9996.9) User(rivera) Program(amqrmppa.exe)
AMQ9001: Channel 'TO.QM_ANGELITO' ended normally.
Channel 'TO.QM_ANGELITO' ended normally.

Product Alias/Synonym


Document information

More support for: WebSphere MQ
Channels LU62 / TCP

Software version: 6.0, 7.0, 7.1, 7.5, 8.0, 9.0

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Reference #: 1576747

Modified date: 01 November 2016

Translate this page: