空消息和实际消息MQ客户机问题
本文关键字:消息 客户机 问题 MQ | 更新日期: 2023-09-27 18:07:42
我正在将消息从一个队列发送到另一个队列,例如,在我的输入队列中,如果有空消息,然后是实际消息,当代码开始排队时,一旦它看到第一个空消息,它就不会向我发送实际消息。
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
}
}
另一个方法(send) -发送它。
mqPutMsgOpts = new MQPutMessageOptions();
mqQueue.Put(mqMsg, mqPutMsgOpts);
我如何处理这个,以便队列继续发送消息,即使有空消息?
只要检查MessageLength就足够了。
if(mqMsg.MessageLength > 0)
{
// Send message to another queue.
}
但重要的是要理解为什么有一个没有正文的消息,并解决这个问题。为什么会有人发一条没有尸体的信息?