SET MQCONN

更改有关 CICS® 与 IBM® MQ之间的连接属性的信息,然后启动或停止连接。

语法

警告系统命令功能强大,可提供有关系统状态的信息,并允许对系统进行更改。 系统命令只能由授权应用程序和用户使用。

通过指定 XCMD 系统初始化参数并确保事务的命令安全检查处于激活状态(在 TRANSACTION 资源定义中指定 CMDSEC(YES) 或在 CMDSEC 系统初始化参数中指定 ALWAYS),激活命令安全检查。

SET MQCONN

读取语法图跳过可视语法图SET MQCONNWAITBUSY(CVDA)NOWAITFORCECONNECTST(CVDA)CONNECTEDNOTCONNECTEDMQNAME(data-area)RESYNCMEMBER(CVDA)RESYNCNORESYNCGROUPRESYNC

条件: NORMAL , NOTAUTH , NOTFND 和 INVREQ

NOHANDLE, RESP, 和 RESP2 是可以添加到所有 EXEC CICS 命令中的常用选项,用于处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项. 有关使用 CVDA 的更多信息,请参阅 CICS-值数据区 (CVDA)

此命令是线程安全的。

描述

使用 SET MQCONN 命令来更改当前安装的 MQCONN 资源定义的属性,该定义定义与 IBM MQ的连接,并启动和停止连接。

因为一次只能安装一个 MQCONN 资源定义,所以输入上不需要 MQCONN 资源定义的名称。

此命令不会设置 MQCONN 资源定义的 INITQNAME 属性,该定义指定缺省启动队列的名称。 如果要更改 MQMONITOR 资源定义 DFHMQINI 的 QNAME 属性,该属性是使用 MQCONN 资源定义动态安装的,并表示缺省启动队列,那么必须更改 MQCONN 资源定义的 INITQNAME 属性,然后重新安装 MQCONN 资源定义。

限制: 此命令不能在由分布式程序链接命令链接的远程程序中使用。

选项

繁忙
仅当设置 CICS-MQ 连接 NOTCONNECTED 时,此选项才对 CONNECTST 有效。 如果指定 CONNECTED ,那么将忽略 BUSY。 CVDA 值如下所示:
FORCE
当前使用 IBM MQ 的任何 CICS 事务都将异常结束,并且与 IBM MQ 的连接将停止。 请求本质上是同步的; 即,在停止连接之前,不会将控制权返回给应用程序。
无等待
IBM MQ 的连接已停顿。 允许现有事务在连接停止之前完成。 请求本质上是异步的; 即,在停止连接之前将控制权返回给应用程序。
WAIT
IBM MQ 的连接已停顿。 允许现有事务在连接停止之前完成。 请求本质上是同步的; 即,在停止连接之前,不会将控制权返回给应用程序。 WAIT 是缺省值。
CONNECTST
启动或停止 CICS 与 IBM MQ之间的连接。 CVDA 值如下所示:
CONNECTED
启动 CICS-MQ 连接。 此操作与发出 CKQC START 命令以启动 CICS-MQ 适配器具有相同的效果。 如果请求的队列管理器处于活动状态,那么当 CICS 和 IBM MQ 连接时,控制权将返回。 如果请求的队列管理器未处于活动状态,那么 CICS 会返回 RESP2=8的 NORMAL 响应,指示 CICS-MQ 适配器处于连接状态,并在请求的队列管理器变为活动状态后立即重新连接到 IBM MQ
NOTCONNECTED
停止 CICS-MQ 连接。 您为 BUSY 选项指定的值确定是停止还是允许现有事务完成,以及返回到应用程序的阶段控制。 缺省值为 BUSY (WAIT) ,允许现有事务在连接停止之前完成,并且在连接停止之前不会将控制权返回给应用程序。
MQNAME
指定 CICS 要连接到的 IBM MQ 队列管理器或队列共享组的 1-4 字符名称。 CICS 尝试连接到队列管理器或队列共享组的任何活动成员。 仅当 CICS 未连接到 IBM MQ时,才能更改 MQNAME。

指定 MQNAME 时,您在已安装的 MQCONN 资源定义的 MQNAME 属性中指定的队列管理器名称或队列共享组将替换为此命令指定的名称。 如果要还原为原始队列管理器或队列共享组,请再次设置 MQNAME。

RESYNCMEMBER
仅当为 CICS-MQ 连接指定了队列共享组时,此选项才适用。 RESYNCMEMBER 指定在从队列共享组连接到 CICS 的最后一个队列管理器挂起未完成的工作单元时, CICS 所采用的策略。

仅当所有资源都处于一致状态时,才必须更改 RESYNCMEMBER 的设置; 即,没有未完成的不确定工作单元,否则 CICS 无法再同步 IBM MQ 工作单元。 在将 RESYNCMEMBER 更改为 GROUpresYNC 或从 GROUpresYNC 更改之前,请务必确保所有资源都处于一致状态。

由于 CICS 本身此时无法解析这些工作单元,因此不包含在此过程中。 当 CICS 与其远程协调程序进行再同步时,将对这些 UOW 进行再同步。

CVDA 值如下所示:

RESYNC
CICS 连接到同一队列管理器。
NORESYNC
CICS 将尝试连接到同一个队列管理器一次。 如果该尝试失败,那么 CICS 将连接到队列共享组的任何成员,并发出有关未完成工作单元的警告消息。
GROUPRESYNC
CICS 连接到队列共享组的任何成员。 队列管理器由 IBM MQ 选择,它要求 CICS 代表队列共享组中所有符合条件的队列管理器解决不确定的工作单元。 此函数称为 组恢复单元。 仅当运行支持 CICS 的组恢复单元的 IBM MQ 发行版以及在 IBM MQ 队列管理器中启用了 GROUPUR 属性时,才能使用 GROUpresYNC 选项。

尝试使用 EXEC CICS SET MQCONN CONNECTED 命令将 CICS 连接到 IBM MQ 时,如果设置了 RESYNCMEMBER (GROUpresYNC) ,但 IBM MQ 不支持组恢复单元,或者未启用组恢复单元,那么 IBM MQ 将拒绝连接尝试。 连接尝试导致 SET 命令失败,带有 INVREQ 和 RESP2=9 (连接错误)。

IBM MQ 中的工作单元未完成时,请勿更改 RESYNCMEMBER 的设置,因为这意味着无法解析工作单元。 CICS 中保留的工作单元由资源管理器限定符标识。 使用 RESYNCMEMBER (GROUpresYNC) 时,限定符是队列共享组的名称,否则使用的限定符是单个队列管理器的名称。

条件

正常
RESP2 值:
8
正在等待 IBM MQ。 此情况可能发生在 CVDA 为 CONNECT 的 CONNECTST 之后。
NOTAUTH
与发出任务关联的用户无权使用此命令,或无权访问此资源。
RESP2 值:
100
命令授权失败。
NOTFND
RESP2 值:
1
当前未安装任何 MQCONN 资源定义。
INVREQ
RESP2 值:
2
已指定带有 FORCE 或 WAIT 选项的 SET NOTCONNECTED ,但此事务本身正在使用 CICS-MQ 接口。
3
无法设置 MQNAME ,因为连接处于活动状态。
4
BUSY 值无效。
5
MQNAME 包含无效字符。
6
CONNECTST 值无效。
7
RESYNCMEMBER 值无效。
9
连接错误。
10
MQNAME 值不是有效的队列管理器或队列共享组。