其他分享
首页 > 其他分享> > CodeGo.net> MSMQ的TimeToBeReceived

CodeGo.net> MSMQ的TimeToBeReceived

作者:互联网

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

提前致谢.

坦率

解决方法:

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

标签:msmq,queue,c
来源: https://codeday.me/bug/20191208/2091813.html