我試圖讓MQ v6按照IBM幫助指南中的建議使用消息標誌MQMF_SEGMENTATION_ALLOWED和放置消息選項MQPMO_LOGICAL_ORDER來分割消息。put()中忽略WebSphere MQ 6消息分段選項?
ImqMessage message;
message.setFormat(MQFMT_STRING);
message.setMessageFlags(MQMF_LAST_MSG_IN_GROUP | MQMF_SEGMENTATION_ALLOWED);
/* ... */
ImqPutMessageOptions pmopts;
pmopts.setOptions(MQPMO_LOGICAL_ORDER);
if (!queue.put(message, pmopts))
{
buflen;
m_iLastError = queue.reasonCode();
CString reason;
reason.Format(_T("%d"), queue.reasonCode());
_errorMsg = "Reason code: " + reason;
/* throw exception etc.. */
}
不管我是否指定這些標誌,當我打電話把(),它總是返回虛假信息和有原因的代碼(2010)MQRC_DATA_LENGTH_ERROR。
是否有任何與v6和細分相關的常見問題(比如它在Windows上不可用,任何明顯的類似......)或任何有關嘗試的建議?
道歉的輕微上下文的代碼示例btw。我會盡我所能回答人們對我的問題所提出的問題。