我们计划在我们的应用程序中使用NServiceBus来调度消息。 在我们的例子中,每条消息都有timeToLive
属性,定义了处理这个消息的时间段。NServiceBus异常处理和消息重试机制
对于在第一次尝试中消息处理不成功的情况,我们的计划是在成功处理或者timeToLive
已过期时将其移至特定的重试存储(重试队列)和重试消息(在重试之间有一些超时) 。
如果timeToLive
过期,我们计划记录消息内容和丢弃消息。
实际上,这种重试行为主要取决于我们正在实施的协议。
有什么办法可以用NServiceBus来实现这样的行为吗?我明白了,那些不成功的消息去了特定的error queue
。是否可以创建一个单独的总线,指向错误队列?
谢谢你,安德烈亚斯。在提出这个问题之前,我已经写过你的文章了)。 你能告诉我是否有可能在一个进程中托管多条消息总线?可以,或者nservicebus不支持?或者许多巴士在一个过程中工作会受到严厉的性能处罚? – 2010-03-16 09:20:59
在默认配置模式下,每个应用程序域只能有一条总线。问题在于,您可能希望将错误队列放在单独的计算机上,并让所有其他进程在其中移动错误。然后,您将拥有一个单独的进程/总线,从那个错误队列中取出您自己的定制逻辑。 – 2010-03-16 10:01:23
andeas你可能想要修复你的链接 – Simon 2014-02-04 02:40:50