从MQ队列

时间:2016-06-13 04:37:43

标签: java mq getmessage

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

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

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;

当我尝试使用它时,它会给我错误代码 完成代码2,原因2046错误。

1 个答案:

答案 0 :(得分:0)

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