-1

我正在尝试从一个本地队列中获取消息。我已经初始化了队列管理器,我应该从中获取消息的本地队列。

打开用于本地队列的输入选项

int openInputOptions = MQC.MQOO_OUTPUT ;               
 MQQueue outputQueue=queueManager.accessQueue(remoteQueue, openInputOptions);

并获取消息选项是

MQGetMessageOptions gmo=new MQGetMessageOptions();
gmo.options=MQC.MQGMO_WAIT | MQC.MQGMO_BROWSE_FIRST;
gmo.matchOptions=MQC.MQMO_NONE;

当我执行这个我得到

com.ibm.mq.MQException:完成代码 2,原因 2036 错误。

哪个状态MQRC_NOT_OPEN_FOR_BROWSE

所以我尝试使用下面的打开选项,

int openInputOptions = MQC.MQOO_OUTPUT | MQC.MQOO_BROWSE;

当我尝试这个时,它给了我错误代码 Completion code 2, Reason 2046 error 。

4

1 回答 1

0

队列实际上是队列管理器的本地队列,还是您尝试打开“远程队列”。因为如果它是“本地队列”,那么“MQC.MQOO_BROWSE”选项将起作用。

于 2016-06-14T18:48:36.690 回答