停止通道
使用 MQSC 命令 STOP CHANNEL 来停止通道。
使用 MQSC 命令
有关如何使用 MQSC 命令的信息,请参阅使用 MQSC 命令执行本地管理任务。
您可以从源 CR 发出此命令。 有关源代码符号的解释,请参阅 z/OS® 上的 "使用命令 "。
STOP CHANNEL 的使用说明
- 如果指定 QMNAME 或 CONNAME,STATUS 必须为 INACTIVE 或未指定。 请勿指定 QMNAME 或 CONNAME 和 STATUS(停止)。 无法为一个合作伙伴停止通道,但无法为其他合作伙伴停止通道。 这种功能可以由通道安全出口提供。 有关通道退出的更多信息,请参阅通道退出程序。
在 z/OS 上,命令服务器和通道启动器必须正在运行。- 任何处于停止状态的通道都需要手动启动,它们不会自动启动。 有关重新启动已停止通道的信息,请参阅重新启动已停止通道。
- 可以向除 CLNTCONN 通道 (包括已自动定义的通道) 以外的任何类型的通道发出此命令。
- 如果同时存在本地定义的通道和同名的自动定义的集群发送方通道,那么该命令将应用于本地定义的通道。 如果没有本地定义的通道,但有多个自动定义的集群发送方通道,那么该命令将应用于上次添加到本地队列管理器存储库的通道。
STOP CHANNEL 的参数描述
- (通道名称)
- 要停止的通道的名称。 此参数对于所有通道类型都是必需的。
CHLDISP- 此参数仅适用于 z/OS ,并且可以采用以下值:
- 缺省值
- PRIVATE
- SHARED
如果省略此参数,那么将应用 DEFAULT 值。 这取自通道对象的缺省通道处置属性 DEFCDISP。
此参数与 CMDSCOPE 参数的各种值一起控制两种类型的通道:- SHARED
- 如果启动了接收通道来响应定向至队列共享组的入站传输,那么此接收通道是共享通道。
如果发送通道的传输队列的处置为 SHARED,那么将共享该发送通道。
- PRIVATE
- 如果接收通道是为了响应定向到队列管理器的入站传输而启动的,那么该通道是专用通道。
如果发送通道的传输队列具有除 SHARED以外的处置,那么该发送通道为专用通道。
注意: 该处置与通道定义中队列共享组的处置所设置的处置无关。CHLDISP 和 CMDSCOPE 参数的组合还控制从哪个队列管理器操作通道。 可能的选项包括:- 在发出命令的本地队列管理器上。
- 在组中的另一个特定指定队列管理器上。
- 在组中的每个活动队列管理器上。
- 在组中最适合的队列管理器上,由队列管理器本身自动确定。
下表汇总了 CHLDISP 和 CMDSCOPE 的各种组合:
表 1. 用于 STOP CHANNEL 的 CHLDISP 和 CMDSCOPE CHLDISP CMDSCOPE( ) 或 CMDSCOPE (local-qmgr) CMDSCOPE (qmgr-name) CMDSCOPE(*) PRIVATE 作为本地队列管理器上的专用通道停止。 作为指定队列管理器上的专用通道停止 作为所有活动队列管理器上的专用通道停止 SHARED 对于 RCVR 和 SVRCONN 通道,停止为所有活动队列管理器上的共享通道。 对于 SDR , RQSTR 和 SVR 通道,请在其运行所在的队列管理器上作为共享通道停止。 如果通道处于不活动状态 (未运行) ,或者由于运行通道的通道启动程序已停止而处于 RETRY 状态,那么将在本地队列管理器上发出通道的 STOP 请求。
这可能会使用 CMDSCOPE 自动生成命令,并将其发送到相应的队列管理器。 如果队列管理器上没有将命令发送到的通道的定义,或者如果该定义不适合该命令,那么该命令将失败。
输入命令的队列管理器上通道的定义可用于确定实际运行该命令的目标队列管理器。 因此,通道定义必须一致。 不一致的通道定义可能会导致意外的命令行为。
不允许 不允许
CMDSCOPE- 此参数仅适用于 z/OS ,并指定当队列管理器是队列共享组的成员时该命令的运行方式。如果 CHLDISP 设置为 SHARED,那么 CMDSCOPE 必须为空或本地队列管理器。
- ' '
- 该命令在输入该命令的队列管理器上运行。 这是缺省值。
- qmgr-名称
- 如果队列管理器在队列共享组中处于活动状态,那么该命令将在您指定的队列管理器上运行。
仅当您正在使用队列共享组环境并且已启用命令服务器时,才能指定队列管理器名称。
- *
- 该命令在本地队列管理器上运行,并且还会传递到队列共享组中的每个活动队列管理器。 其效果与在队列共享组中的每个队列管理器上输入命令相同。
- CONNAME (连接名称)
- 连接名称。 仅停止与指定连接名称匹配的通道。
使用 CONNAME 参数发出 STOP CHANNEL 命令时,请确保 CONNAME 参数中指定的值与 DISPLAY CHSTATUS 中显示的值完全一致。
- 方式
- 指定是否允许当前批处理以受控方式完成。 此参数是可选的。
- QUIESCE
- 这是缺省值。
- FORCE
- 对于服务器连接通道,中断当前连接,返回 MQRC_CONNECTION_BROKEN。 对于其他通道类型,终止任何当前批处理的传输。 这很可能导致不确定的情况。
在 IBM MQ for z/OS 上,指定 FORCE 会中断任何正在进行的报文重新分配,这可能会导致 BIND_NOT_FIXED 报文被部分重新分配或顺序混乱。 - TERMINATE
在 z/OS 上, TERMINATE 与 FORCE 同义。
在其他平台上, TERMINATE 会终止任何当前批次的传输。这允许命令实际终止通道线程或进程。
对于服务器连接通道, TERMINATE 会中断当前连接,返回 MQRC_CONNECTION_BROKEN。
在 z/OS 上,指定 TERMINATE 会中断任何正在进行的报文重新分配,这可能会导致 BIND_NOT_FIXED 报文被部分重新分配或顺序混乱。
- QMNAME (qmname)
- 队列管理器名称。 仅停止与指定的远程队列管理器匹配的通道。
- 状态
- 指定此命令停止的任何通道的新状态。 有关处于 STOPPED 状态的通道 ( 尤其是 z/OS上的 SVRCONN 通道) 的更多信息, 请参阅 重新启动已停止的通道。
- STOPPED
- 通道已停止。 对于发送方或服务器通道,传输队列设置为 GET(DISABLED) 和 NOTRIGGER。
如果未指定 QMNAME 或 CONNAME ,那么这是缺省值。
- 不活动的
- 通道处于不活动状态。
如果指定了 QMNAME 或 CONNAME ,那么这是缺省值。
