0

nServiceBus是否可以在不使用的情况下重播所有失败的消息ServiceControl/ServicePulse

NServiceBus.Host.exe用来托管我们的端点。我们的ServiceControl/ServicePulse数据库损坏了。我能够重新创建它,但现在我的 SQL 数据库中有一些失败的消息,这些消息通过 ServicePulse 是不可见的。

4

2 回答 2

1

我所知道的特定堆栈中没有内置任何东西可以解决这个问题。

当我遇到这样的问题之前,我通常会设置一个控制台应用程序来将一些命令发送到端点,然后在端点中设置一个自定义处理程序来修复数据不一致。这允许您在 dev/uat 环境中测试“修复”,然后您就有了一个用于生产的自动化解决方案来解决问题。

于 2016-10-11T14:42:57.193 回答
1

会有帮助吗?

看一下 readme.md

对于需要此工具以前提供的功能的人,请采取以下操作之一

通过 ServiceInsight 或 ServicePulse 返回源队列。使用自定义脚本或代码返回源队列。这具有额外的好处,可以实现可能的性能和可用性优化,因为作为业务所有者,您有更多关于如何管理错误队列的上下文。例如,使用这种方法,您可以选择在同一个事务中批量发送多个发送。通过任何 MSMQ 管理工具手动返回源队列。如果您仍想使用 MsmqReturnToSourceQueue.exe,请随意使用此存储库中的代码来编译副本。

您可以查看提供的链接以构建您自己的脚本(以 mach SQL)并触发错误消息包装器,以便您可以将剥离的消息推回 SQL 队列。

这有帮助吗?

如果没有,请联系特定 dot net 的支持人员,我们将很乐意提供帮助 :-)

于 2016-10-11T15:03:01.567 回答