あるキューから別のキューにメッセージを送信しています。たとえば、入力キューに空のメッセージがあり、実際のメッセージがある場合、コードがキューイングを開始すると、実際のメッセージは送信されません。最初の空のメッセージ。
Import queue:
-> empty message
Test -> actual message
これは、送受信しているメッセージの一部です。
if (mqMsg.MessageLength > 0 && mqMsg.DataLength > 0)
{
messageData = mqMsg.ReadString(mqMsg.MessageLength);
}
パッティング
mqQueue.Put(mqMsg, mqPutMsgOpts);
これが実装方法です:
while(if any message is available)
{
//go a read/get
mqMsg = new MQMessage();
mqGetMsgOpts = new MQGetMessageOptions();
mqQueue.Get(mqMsg);
if (mqMsg.MessageLength > 0 && mqMsg.DataLength > 0)
{
//posted to send method
}
}
別の方法 (送信) - 送信します。
mqPutMsgOpts = new MQPutMessageOptions();
mqQueue.Put(mqMsg, mqPutMsgOpts);
空のメッセージがある場合でもキューがメッセージを送信し続けるように、これを処理するにはどうすればよいですか?