0

我正在尝试使用 python 读取一些 MQ 变量,例如:

print('High Queue depth:', qq.inquire(pymqi.CMQC.MQIA_HIGH_Q_DEPTH))

当我运行它时,我收到了这个错误:

 File "depth.py", line 32, in <module>
print('High Queue depth:', qq.inquire(pymqi.CMQC.MQIA_HIGH_Q_DEPTH))
File "/home/vagrant/miniconda2/lib/python2.7/site-packages/pymqi.py", line 1766, in inquire
raise MQMIError(rv[-2], rv[-1])
pymqi.MQMIError: MQI Error. Comp: 2, Reason 2067: FAILED: MQRC_SELECTOR_ERROR
4

1 回答 1

0

MQ 原因码MQRC_SELECTOR_ERROR (2067)意味着您无法查询该对象的该属性 (MQIA_HIGH_Q_DEPTH)。

MQIA_HIGH_Q_DEPTH 不是队列属性,它是事件消息中使用的常量值。我怀疑您正在尝试查询队列的当前深度?如果是这样,您应该使用的属性是 MQIA_CURRENT_Q_DEPTH。您可以在表 1 中看到队列的 MQINQ 属性的完整列表。队列的MQINQ 属性选择器,因此如果这不是您想要的(我的猜测),那么您可以从该列表中选择一个合适的。

于 2015-12-05T01:40:43.937 回答