【问题标题】:How can I control message lost from nServicebus如何控制从 nServicebus 丢失的消息
【发布时间】:2010-11-04 04:50:15
【问题描述】:

我有一个 nServicebus 应用程序,现在我的应用程序从处理程序读取消息并自动从总线中删除消息。但我想要的是,在从 Handler 检索消息后,它不应该从总线中删除消息。在我的代码完成消息处理之后,我将从总线中删除消息。这意味着我必须控制消息。

提前致谢

苏珊塔·萨曼塔

【问题讨论】:

    标签: nservicebus


    【解决方案1】:

    NServiceBus 在 TransactionScope 中运行所有处理程序,这意味着如果您的代码抛出异常,消息将被放回队列中并稍后重试。因此,您不必担心捕获任何异常/管理如何从队列中删除消息,NSB 会为您处理这些。

    如果您能提供更多关于您正在尝试做什么的信息,我或许可以为您提供更多帮助?

    【讨论】:

    • 我有一个索引服务,它索引一些消息,当服务意外停止时我的问题出现了。假设当时我已经处理了 500 条消息中的 100 条但未编入索引(因为当时索引编写器没有关闭)。下次机器重新启动时,这 100 条消息会丢失。那么,我怎样才能保留所有这些消息。我想在索引完成后立即销毁这 500 条消息。
    • 要解决此类问题,您应该查看“sagas” * nservicebus.com/Sagas.aspx * sourceforge.net/apps/mediawiki/nservicebus/… * 制造和星巴克示例显示此功能,即您使用 saga 跟踪所有要写入/写入索引的消息。希望这可以帮助! /安德烈亚斯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2015-01-19
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多