首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NServiceBus异常处理和消息重试机制

NServiceBus异常处理和消息重试机制
EN

Stack Overflow用户
提问于 2010-03-15 20:23:32
回答 1查看 2.3K关注 0票数 3

我们计划在我们的应用程序中使用NServiceBus来分派消息。在我们的示例中,每条消息都有timeToLive属性,该属性定义了应该处理该消息的时间段。

对于第一次尝试消息处理不成功的情况,我们的计划是将其移动到特定的重试存储(重试队列),然后在成功处理或timeToLive过期时重试消息(重试之间有一些超时)。

如果timeToLive过期,我们计划记录消息内容并丢弃消息。

实际上,这种重试行为主要是由我们正在实现的协议决定的。

有什么方法可以用NServiceBus实现这样的行为吗?我明白了,不成功的消息会发往特定的error queue。是否可以创建一个单独的总线,指向错误队列?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-15 21:38:57

我建议您有一个单独的进程来监控错误队列,根据您描述的逻辑执行重试。看看nservicebus附带的ReturnToSourceQueue工具以获得灵感:

http://nservicebus.svn.sourceforge.net/viewvc/nservicebus/trunk/src/tools/management/Errors/ReturnToSourceQueue/NServiceBus.Tools.Management.Errors.ReturnToSourceQueue/Class1.cs?view=markup

我有一篇关于如何处理失败的博客文章,可能也会给你一些想法:http://andreasohlund.net/2010/03/15/errorhandling-in-a-message-oriented-world/

希望这能有所帮助!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2446993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档