STOP CHANNEL
Use the MQSC command STOP CHANNEL to stop a channel.
Use MQSC commands
For information on how we use MQSC commands, see Performing local administration tasks using MQSC commands.
We can issue this command from sources CR. For an explanation of the source symbols, see Sources from which we can issue MQSC commands on z/OS .
Synonym: STOP CHL
STOP CHANNEL
Notes:- 1 Valid only on z/OS when the queue manager is a member of a queue sharing group.
- 2 Valid only on z/OS.
- 3 Not valid on z/OS
Usage notes for STOP CHANNEL
- If you specify either QMNAME or CONNAME, STATUS must either be INACTIVE or not specified. Do not specify a QMNAME or CONNAME and STATUS(STOPPED). It is not possible to have a channel stopped for one partner but not for others. This sort of function can be provided by a channel security exit. For more information about channel exits, see Channel exit programs.
- On z/OS, the command server and the channel initiator must be running.
- Any channels in STOPPED state need to be started manually; they are not started automatically. See Restarting stopped channels for information about restarting stopped channels.
- This command can be issued to a channel of any type except CLNTCONN channels (including those that have been defined automatically).
- Where there is both a locally defined channel and an auto-defined cluster-sender channel of the same name, the command applies to the locally defined channel. If there is no locally defined channel but more than one auto-defined cluster-sender channel, the command applies to the channel that was last added to the local queue manager repository.
Parameter descriptions for STOP CHANNEL
- (channel-name)
- The name of the channel to be stopped. This parameter is required for all channel types.
- CHLDISP
-
This parameter applies to z/OS only and
can take the values of:
- DEFAULT
- PRIVATE
- SHARED
If this parameter is omitted, then the DEFAULT value applies. This is taken from the default channel disposition attribute, DEFCDISP, of the channel object.
In conjunction with the various values of the CMDSCOPE parameter, this parameter controls two types of channel:- SHARED
- A receiving channel is shared if it was started in response to an inbound transmission directed
to the queue sharing group.
A sending channel is shared if its transmission queue has a disposition of SHARED.
- PRIVATE
- A receiving channel is private if it was started in response to an inbound transmission directed
to the queue manager.
A sending channel is private if its transmission queue has a disposition other than SHARED.
Note: This disposition is not related to the disposition set by the disposition of the queue sharing group of the channel definition. The combination of the CHLDISP and CMDSCOPE parameters also controls from which queue manager the channel is operated. The possible options are:
- On the local queue manager where the command is issued.
- On another specific named queue manager in the group.
- On every active queue manager in the group.
- On the most suitable queue manager in the group, determined automatically by the queue manager itself.
The various combinations of CHLDISP and CMDSCOPE are summarized in the following table:
CHLDISP CMDSCOPE( ) or CMDSCOPE (local-qmgr) CMDSCOPE (qmgr-name) CMDSCOPE(*) PRIVATE Stop as a private channel on the local queue manager. Stop as a private channel on the named queue manager Stop as a private channel on all active queue managers SHARED For RCVR and SVRCONN channels, stop as shared channel on all active queue managers. For SDR, RQSTR, and SVR channels, stop as a shared channel on the queue manager where it is running. If the channel is in an inactive state (not running), or if it is in RETRY state because the channel initiator on which it was running has stopped, a STOP request for the channel is issued on the local queue manager.
This might automatically generate a command using CMDSCOPE and send it to the appropriate queue manager. If there is no definition for the channel on the queue manager to which the command is sent, or if the definition is unsuitable for the command, the command fails.
The definition of a channel on the queue manager where the command is entered might be used to determine the target queue manager where the command is actually run. Therefore, it is important that channel definitions are consistent. Inconsistent channel definitions might result in unexpected command behavior.
Not permitted Not permitted - CMDSCOPE
-
This parameter applies to z/OS only and
specifies how the command runs when the queue manager is a member of a queue sharing group. If
CHLDISP is set to SHARED, CMDSCOPE must
be blank or the local queue manager.
- ' '
- The command runs on the queue manager on which it was entered. This is the default value.
- qmgr-name
- The command runs on the queue manager you specify, providing the queue manager is active within
the queue sharing group.
We can specify a queue manager name only if we are using a queue sharing group environment and if the command server is enabled.
- *
- The command runs on the local queue manager and is also passed to every active queue manager in the queue sharing group. The effect of this is the same as entering the command on every queue manager in the queue sharing group.
- CONNAME (connection-name)
-
Connection name. Only
channels matching the specified connection name are stopped.
When issuing the STOP CHANNEL command using a CONNAME parameter, ensure that the value specified in the CONNAME parameter is exactly as shown in DISPLAY CHSTATUS.
- MODE
-
Specifies whether the
current batch is allowed to finish in a controlled manner. This parameter is optional.
- QUIESCE
- This is the default.
- FORCE
- For server-connection channels, breaks the current connection, returning
MQRC_CONNECTION_QUIESCING or MQRC_CONNECTION_BROKEN.
For other channel types, terminates transmission of any current batch. This
is likely to result in in-doubt situations.
On IBM MQ for z/OS, specifying FORCE interrupts any message reallocation in progress, which might leave BIND_NOT_FIXED messages partially reallocated or out of order.
- TERMINATE
- On z/OS,
TERMINATE is synonymous with FORCE.
On other platforms, TERMINATE terminates transmission of any current batch.
This allows the command to actually terminate the channel thread or process.
For server-connection channels, TERMINATE breaks the current connection, returning MQRC_CONNECTION_QUIESCING or MQRC_CONNECTION_BROKEN. Using TERMINATE can cause predictable results to occur.
On z/OS, specifying TERMINATE interrupts any message reallocation in progress, which might leave BIND_NOT_FIXED messages partially reallocated or out of order.
- QMNAME (qmname)
- Queue manager name. Only channels matching the specified remote queue manager are stopped.
- STATUS
-
Specifies the new state of any channels stopped by this command. For more information
about channels in STOPPED state, especially SVRCONN channels on z/OS, see Restarting stopped channels.
- STOPPED
- The channel is stopped. For a sender or server channel the transmission queue is set to
GET(DISABLED) and NOTRIGGER.
This is the default if QMNAME or CONNAME are not specified.
- INACTIVE
- The channel is inactive.
This is the default if QMNAME or CONNAME are specified.
- IGNSTATE
- This parameter allows you to specify whether we want the command to return an error return
code, if the object is already in the state the command would move it to. Possible values are:
- NO
- If the channel being stopped is already in that state, the command returns RC=10. This is the existing behavior, and NO is the default value.
- YES
- If the channel being stopped is already in that state, the command returns RC=0. The return code is the case as if the channel is not running.
Parent topic: MQSC commands