私は次のコードを持っています:
MQQueueManager mqm = null;
MQQueue mqQueue = null;
try
{
mqm = new MQQueueManager("SWIFTQM", "SWIFTCHANNEL", "localhost");
mqQueue = mqm.AccessQueue("SWIFTQ", MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING);
MQMessage mqMsg = new MQMessage();
MQGetMessageOptions mqGetMsgOpts = new MQGetMessageOptions();
mqGetMsgOpts.Options |= MQC.MQGMO_SYNCPOINT;
mqQueue.Get(mqMsg, mqGetMsgOpts);
string s1 = "";
if (mqMsg.Format.CompareTo(MQC.MQFMT_STRING) == 0)
s1 = mqMsg.ReadString(mqMsg.MessageLength);
string s2 = "";
mqQueue.Get(mqMsg, mqGetMsgOpts);
if (mqMsg.Format.CompareTo(MQC.MQFMT_STRING) == 0)
s2 = mqMsg.ReadString(mqMsg.MessageLength);
}
finally
{
if (mqQueue != null)
mqQueue.Close();
if (mqm != null)
mqm.Disconnect();
if (mqm != null)
mqm.Close();
}
キューには多くのメッセージがありますが、2番目のmqQueue.Getは「MQRC_NO_MSG_AVAILABLE」例外を取得します。不足しているオプションはありますか?