【问题标题】:MSMQ TimeToBeReceivedMSMQ 待接收时间
【发布时间】:2011-08-11 18:11:02
【问题描述】:

刚刚编写了一个小应用程序来读取我们的 MSMQ 死信队列,并重新发送消息。然而,我注意到,当 TimeToBeReceived 过期时,消息将从远程服务器上的目标队列中删除,并放回发件人的死信队列中,该队列在重新发送之前来自该队列。 这是正常的预期行为吗?我预计它会在到期时进入目标 DLQ。

提前致谢。

弗兰克

【问题讨论】:

    标签: c# queue msmq


    【解决方案1】:

    是的,这很正常。该行为确保所有可能的故障都将进入一个死信队列,发送框上的应用程序将能够检查该队列。 请注意,事务性消息和非事务性消息之间存在差异:对于非事务性消息,一旦超时到期,接收者将向发送者发送一条消息。对于事务性,消息实际上将保留在发送方(在传出队列中标记为“未处理”),直到被接收方接收或移动到死信队列。这样 MSMQ 可以确保消息不会丢失。

    【讨论】:

    • 感谢您的信息。是的,应该提到,有问题的队列是事务性的。再次感谢!
    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多