MQSTAT-检索状态信息
使用 MQSTAT 调用来检索状态信息。 返回的状态信息的类型由调用上指定的 "类型" 值确定。
语法
MQSTAT (Hconn, Type, Stat, Compcode, Reason)
参数
- Hconn
- 类型 :MQHCONN-输入
此句柄表示与队列管理器的连接。 先前的 MQCONN 或 MQCONNX 调用返回了
Hconn的值。在 z/OS® for CICS® 应用程序上,可以省略 MQCONN 调用,并为Hconn指定以下值:- MQHC_DEF_HCONN
- 缺省连接句柄。
- 类型
- 类型 :MQLONG-输入
正在请求的状态信息的类型。 有效值如下:
- mqstat_type_async_error
- 返回有关先前异步放置操作的信息。
- mqstat_type_reconnection
返回有关重新连接的信息。 如果连接正在重新连接或未能重新连接,那么此信息描述导致连接开始重新连接的故障。
此值仅对客户机连接有效。 对于其他类型的连接,调用失败,原因码为 MQRC_ENVIRONMENT_ERROR
- mqstat_type_reconnection_error
返回有关与重新连接相关的先前故障的信息。 如果连接未能重新连接,那么此信息描述导致重新连接失败的故障。
此值仅对客户机连接有效。 对于其他类型的连接,调用失败,原因码为 MQRC_ENVIRONMENT_ERROR。
- stat
- 类型 :MQSTS-输入/输出
状态信息结构。 请参阅 MQSTS-状态报告结构 以获取详细信息。
- CompCode
- 类型:MQLONG - 输出完成代码;此完成代码为以下其中一项:
- MQCC_OK
- 成功完成。
- MQCC_FAILED
- 调用失败。
- 原因
- 类型:MQLONG - 输出
限定
CompCode的原因码。如果CompCode为 MQCC_OK:- MQRC_NONE
- (0, X'000') 没有要报告的原因。
如果CompCode是 MQCC_FAILED:- MQRC_API_EXIT_ERROR
- (2374 , X' 946 ') API 出口失败
- mqrc_api_exit_load_error
- (2183 , X'887 ') 无法装入 API 出口。
- MQRC_CALL_IN_PROGRESS
- (2219, X'8AB') 在先前调用完成前输入了 MQI 调用。
- MQRC_CONNECTION_BROKEN
- (2009, X'7D9') 与队列管理器的连接丢失。
- MQRC_CONNECTION_STOPPING
- (2203, X'89B') 连接正在关闭。
- mqrc_function_not_supported
- (2298,X'8FA') 请求的功能在当前环境中不可用。
- MQRC_HCONN_ERROR
- (2018, X'7E2') 连接句柄无效。
- MQRC_Q_MGR_STOPPING
- (2162,X"872"-队列管理器正在停止
- MQRC_RESOURCE_PROBLEM
- (2102, X'836') 没有足够系统资源可用。
- mqrc_stat_type_error
- (2430,X'97E'MQSTAT 类型错误
- MQRC_STORAGE_NOT_AVAILABLE
- (2071, X'817') 没有足够的存储空间可用。
- MQRC_STS_ERROR
- (2426,X'97A') MQSTS 结构出错
- MQRC_UNEXPECTED_ERROR
- (2195, X'893') 发生了意外错误。
有关这些代码的详细信息,请参阅 消息和原因码。
使用说明
- 指定
MQSTAT_TYPE_ASYNC_ERROR类型的 MQSTAT 调用将返回有关先前异步 MQPUT 和 MQPUT1 操作的信息。 从 MQSTAT 调用返回时传递的MQSTS结构包含该连接的第一个记录的异步警告或错误信息。 如果在第一个错误或警告后面还有其他错误或警告,那么它们通常不会更改这些值。 但是,如果完成代码为MQCC_WARNING时发生错误,那么将改为返回完成代码为MQCC_FAILED的后续故障。 - 如果自建立连接以来或自上次调用 MQSTAT 以来未发生任何错误,那么将在
MQSTS结构中返回CompCodeMQCC_OK和 "原因"MQRC_NONE。 - 已在连接句柄下处理的异步调用的计数通过三个计数器字段返回:
PutSuccessCount,PutWarningCount和PutFailureCount。 每次成功处理异步操作,发出警告或失败时,队列管理器都会增大这些计数器 (请注意,出于记帐目的,放入分发列表时,每个目标队列计数一次,而不是每个分发列表计数一次)。 计数器的增量不超过最大值AMQ_LONG_MAX。 - 成功调用 MQSTAT 会导致重置任何先前的错误信息或计数。
- MQSTAT 的行为取决于您提供的 MQSTAT Type 参数的值。
- mqstat_type_async_error
- 指定
MQSTAT_TYPE_ASYNC_ERROR类型的 MQSTAT 调用将返回有关先前异步 MQPUT 和 MQPUT1 操作的信息。 从 MQSTAT 调用返回时传递的MQSTS结构包含该连接的第一个记录的异步警告或错误信息。 如果在第一个错误或警告后面还有其他错误或警告,那么它们通常不会更改这些值。 但是,如果完成代码为MQCC_WARNING时发生错误,那么将改为返回完成代码为MQCC_FAILED的后续故障。 - 如果自建立连接以来或自上次调用 MQSTAT 以来未发生任何错误,那么将在
MQSTS结构中返回CompCodeMQCC_OK和 "原因"MQRC_NONE。 - 已在连接句柄下处理的异步调用的计数通过三个计数器字段返回:
PutSuccessCount,PutWarningCount和PutFailureCount。 每次成功处理异步操作,发出警告或失败时,队列管理器都会增大这些计数器 (请注意,出于记帐目的,放入分发列表时,每个目标队列计数一次,而不是每个分发列表计数一次)。 计数器的增量不超过最大值AMQ_LONG_MAX。 - 成功调用 MQSTAT 会导致重置任何先前的错误信息或计数。
- 指定
- mqstat_type_reconnection
- 假设您在重新连接期间在事件处理程序内调用 MQSTAT ,并将
Type设置为MQSTAT_TYPE_RECONNECTION。 请考虑以下示例。- 客户机正在尝试重新连接或未能重新连接。
MQSTS结构中的CompCode是MQCC_FAILED,Reason可以是MQRC_CONNECTION_BROKEN或MQRC_Q_MGR_QUIESCING。ObjectType是MQOT_Q_MGR,ObjectName是队列管理器的名称,ObjectQMgrName是空白。- 客户机已成功完成重新连接或从未断开连接。
MQSTS结构中的CompCode为MQCC_OK,Reason为MQRC_NONE
- mqstat_type_reconnection_error
- 假设您在将
Type设置为MQSTAT_TYPE_RECONNECTION_ERROR的情况下调用 MQSTAT ,以响应接收到对 MQI 调用的MQRC_RECONNECT_FAILED。 请考虑以下示例。- 在重新连接到其他队列管理器期间重新打开队列时发生授权失败。
MQSTS结构中的CompCode为MQCC_FAILED,Reason是重新连接失败的原因,例如MQRC_NOT_AUTHORIZED。ObjectType是导致问题的对象类型,例如MQOT_QUEUE,ObjectName是队列的名称,ObjectQMgrName是拥有该队列的队列管理器的名称。- 重新连接期间发生套接字连接错误。
MQSTS结构中的CompCode为MQCC_FAILED,Reason是重新连接失败的原因,例如MQRC_HOST_NOT_AVAILABLE。ObjectType是MQOT_Q_MGR,ObjectName是队列管理器的名称,ObjectQMgrName是空白。
C 调用
MQSTAT (Hconn, StatType, &Stat, &CompCode, &Reason);
按如下所示声明参数:
MQHCONN Hconn; /* Connection Handle */
MQLONG StatType; /* Status type */
MQSTS Stat; /* Status information structure */
MQLONG CompCode; /* Completion code */
MQLONG Reason; /* Reason code qualifying CompCode */
COBOL 调用
CALL 'MQSTAT' USING HCONN, STATTYPE, STAT, COMPCODE, REASON.
按如下所示声明参数:
** Connection handle
01 HCONN PIC S9(9) BINARY.
** Status type
01 STATTYPE PIC S9(9) BINARY.
** Status information
01 STAT.
COPY CMQSTSV.
** Completion code
01 COMPCODE PIC S9(9) BINARY.
** Reason code qualifying COMPCODE
01 REASON PIC S9(9) BINARY.
PL/I 调用
call MQSTAT (Hconn, StatType, Stat, Compcode, Reason);
按如下所示声明参数:
dcl Hconn fixed bin(31); /* Connection handle */
dcl StatType fixed bin(31); /* Status type */
dcl Stat like MQSTS; /* Status information structure */
dcl CompCode fixed bin(31); /* Completion code */
dcl Reason fixed bin(31); /* Reason code qualifying CompCode */
System/390 汇编程序调用
CALL MQSTAT,(HCONN,STATTYPE,STAT,COMPCODE,REASON)
按如下所示声明参数:
HCONN DS F Connection handle
STATTYPE DS F Status type
STAT CMQSTSA, Status information structure
COMPCODE DS F Completion code
REASON DS F Reason code qualifying COMPCODE