我刚刚写了一个小应用程序来读取我们的MSMQ死信队列,并重新发送消息。但是,我注意到,当TimeToBeReceived过期时,消息将从远程服务器上的目标队列中删除,并放回发件人的死信队列中,在重新发送之前消息来自该队列。这是正常的、预期的行为吗?我期望它在到期时进入目标DLQ。
提前谢谢。
弗兰克
发布于 2011-04-24 15:33:12
是的,这是正常的。该行为确保所有可能的故障都将进入一个死信队列,发送箱上的应用程序将能够检查该队列。注意,事务性消息和非事务性消息在这里有一个不同之处:对于非事务性消息,一旦超时到期,接收方将向发送方发回一条消息。对于事务性消息,消息实际上将留在发送方(在传出队列中标记为“未处理”),直到接收方接收到消息或移动到死信队列。这样,MSMQ可以确保消息不会丢失。
https://stackoverflow.com/questions/5768991
复制相似问题