我正在发送 3 条消息
Message1 - 相关 id:5000
空消息(无正文/消息)-相关 id:5001
Message2 - 相关 id:5002
我的出站队列流程是这样的
Message1 - 相关 id:5000
Message1-correlation id:5001 => 在空消息上覆盖相同的先前消息。*
Message2 - 相关 id:5002
上面的第二行不应该有 Message1,而是空的。有什么想法吗?
我的获取方法
mqGetMsgOpts = new MQGetMessageOptions();
if (mqQueue != null)
{
//Get options for the messsage
mqGetMsgOpts.Options = MQC.MQGMO_BROWSE_FIRST | MQC.MQGMO_WAIT | MQC.MQOO_INQUIRE;
mqGetMsgOpts.MatchOptions = MQC.MQMO_NONE;
mqGetMsgOpts.WaitInterval = 5000; // 5 seconds limit for waiting
}
if (mqMsg.MessageLength > 0 && mqMsg.DataLength > 0)
{
messageData = mqMsg.ReadString(mqMsg.MessageLength);
}
如果我不做长度检查,我会得到流阅读器相关的异常。
我的放置方法
if(mqQueue==null)
mqQueue = mqQMgr.AccessQueue("Queue Name", MQC.MQOO_OUTPUT | MQC.MQOO_INPUT_SHARED | MQC.MQOO_INQUIRE);
mqMsg.WriteString(message);