我正在尝试使用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
答案 0 :(得分:0)
MQ原因代码MQRC_SELECTOR_ERROR (2067)表示您无法在该对象上查询该属性(MQIA_HIGH_Q_DEPTH)。
MQIA_HIGH_Q_DEPTH不是队列属性,它是事件消息中使用的常量值。我怀疑你是在试着查询队列的当前深度?如果是这样,您应该使用的属性是MQIA_CURRENT_Q_DEPTH。您可以在Table 1. MQINQ attribute selectors for queues中看到队列的MQINQ-able属性的完整列表,所以如果那不是您想要的那个(我猜),那么您可以从该列表中选择一个合适的。