编程语言
首页 > 编程语言> > C#-NServiceBus异常处理和消息重试机制

C#-NServiceBus异常处理和消息重试机制

作者:互联网

我们计划在应用程序中使用NServiceBus来调度消息.
在我们的例子中,每条消息都有timeToLive属性,该属性定义了应该处理此消息的时间段.

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

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

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

是否可以通过NServiceBus实现这种行为?我看到,失败的消息进入了特定的错误队列.是否可以创建指向错误队列的单独总线?

解决方法:

我建议您有一个单独的过程,该过程根据描述的逻辑监视错误队列执行重试.看一下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/

希望这可以帮助!

标签:exception-handling,c,net,nservicebus
来源: https://codeday.me/bug/20191106/2000850.html