我正在尝试浏览队列中的消息。由于某种原因,该消息被清除/删除(破坏性读取),而不是被浏览。

这是我的OpenOptions:

int openOptions2 = CMQC.MQOO_INPUT_AS_Q_DEF
                 | CMQC.MQOO_FAIL_IF_QUIESCING
                 | CMQC.MQOO_INQUIRE
                 | CMQC.MQOO_BROWSE;


这是我的GetOptions:

qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_FIRST;


我究竟做错了什么?

最佳答案

尝试:

int openOptions2 = CMQC.MQOO_FAIL_IF_QUIESCING | CMQC.MQOO_INQUIRE | CMQC.MQOO_BROWSE;


和:

MQMessage getMsg;
qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_FIRST;

while (true)
{
   getMsg = new MQMessage();
   inQ.get(getMsg, qMQGetMessageOptions);
   qMQGetMessageOptions.options = CMQC.MQGMO_NO_WAIT | CMQC.MQGMO_BROWSE_NEXT;
}

10-01 14:30