[AIX][Windows][Linux]

查询通道状态 (MQTT)

查询通道状态(MQCMD_INQUIRE_CHANNEL_STATUS) (MQTT) 命令查询一个或多个遥测通道实例的状态。

必须指定要查询其状态信息的通道的名称。 此名称可以是特定通道名称或通用通道名称。 通过使用通用通道名称,您可以查询:
  • 所有通道的状态信息,或
  • 与指定名称匹配的一个或多个通道的状态信息。
注: MQ TelemetryInquire Channel Status 命令返回的响应数可能比针对 IBM® MQ 通道运行的命令返回的响应数大得多。 因此, MQ Telemetry 服务器返回的响应数不会超过应答队列中的响应数。 响应数限制为 MAXDEPTH 参数的值。SYSTEM.MQSC.REPLY.QUEUE队列。 当 MQ Telemetry 服务器截断 MQ Telemetry 命令时,将显示 AMQ8492 消息,指定根据 MAXDEPTH的大小返回多少响应。

如果未指定 ClientIdentifier 参数,那么 Inquire Channel Status 命令的输出是连接到通道的所有客户机的状态摘要。 每个通道返回一条 PCF 响应消息。

如果指定了 ClientIdentifier 参数,那么将针对每个客户机连接返回单独的 PCF 响应消息。 ClientIdentifier 参数可以是通配符,其中返回与 ClientIdentifier 字符串匹配的所有客户机的状态 (如果设置了这些状态,那么在 MaxResponsesResponseRestartPoint 的限制内)。

必需参数

ChannelName (MQCFST)
通道名称 (参数标识 :MQCACH_CHANNEL_NAME)。

支持通用通道名称。 通用名称是后跟星号 (*) 的字符串,例如 ABC*,它选择名称以所选字符串开头的所有对象。 它自己的星号与所有可能的名称都匹配。

仅当 ResponseType 参数设置为 MQRESP_TOTAL 时,才允许使用此参数。

将始终返回通道名称,而不考虑所请求的实例属性。

字符串的最大长度为 MQ_CHANNEL_NAME_LENGTH。

ChannelType (MQCFIN)
通道类型 (参数标识 :MQIACH_CHANNEL_TYPE)。
该值必须为:
MQCHT_MQTT
遥测。

可选参数

ClientIdentifer (MQCFST)
客户机的 ClientId (参数标识 :MQCACH_CLIENT_ID)。
MaxResponses (MQCFIN)
要返回状态的最大客户机数 (参数标识 :MQIA_MAX_RESPONSES)。

仅当指定了 ClientIdentifier 参数时,才允许使用此参数。

ResponseRestartPoint (MQCFIN)
返回状态的第一个客户机 (参数标识 :MQIA_RESPONSE_RESTART_POINT)。 此参数与 MaxResponses 的组合使您能够指定客户机范围。

仅当指定了 ClientIdentifier 参数时,才允许使用此参数。

客户机详细信息方式

状态
客户机的当前状态 (参数标识 :MQIACH_CHANNEL_STATUS)。
CONNAME
远程连接的名称 (IP 地址) (参数标识 :MQCACH_CONNECTION_NAME)。
KAINT
客户机的保持活动时间间隔 (参数标识 :MQIACH_KEEP_ALIVE_INTERVAL)。
MCANAME
消息通道代理程序名称 (参数标识 :MQCACH_MCA_USER_ID)。
MSGSNT
自客户机上次连接以来客户机发送的消息数 (参数标识 :MQIACH_MSGS_SENT)。
MSGRCVD
自客户机上次连接以来客户机接收的消息数 (参数标识 :MQIACH_MSGS_RECEIVED/MQIACH_MSGS_RCVD)。
不确定
客户机的不确定入站消息数 (参数标识 :MQIACH_IN_DOUBT_IN)。
不确定
客户机的不确定出站消息数 (参数标识 :MQIACH_IN_DOUBT_OUT)。
暂挂
出站暂挂消息数 (参数标识 :MQIACH_PENDING_OUT)。
LMSGDATE
接收或发送最后一条消息的日期 (参数标识 :MQCACH_LAST_MSG_DATE)。
LMSGTIME
接收或发送最后一条消息的时间 (参数标识 :MQCACH_LAST_MSG_TIME)。
CHLSDATE
启动日期通道 (参数标识 :MQCACH_CHANNEL_START_DATE)。
CHLSTIME
时间通道已启动 (参数标识 :MQCACH_CHANNEL_START_TIME)。

错误代码

除了 适用于所有命令的错误代码中显示的值外,此命令可能会在响应格式头中返回以下错误代码。

原因 (MQLONG)
值可以是以下任意值:
mqrccf_channel_name_error
通道名称错误。
mqrccf_channel_not_found
找不到通道。
mqrccf_chl_inst_type_error
通道实例类型无效。
mqrccf_chl_status_not_found
找不到通道状态。
mqrccf_xmit_q_name_error
传输队列名称错误。