在处理消息时调用 Stop() 时 NServiceBus 端点会做什么

What does an NServiceBus endpoint do when Stop() is called while processing a message

我们正在从本土总线转移到 NServiceBus,我正在迁移我们当前的端点。目前,如果端点收到停止请求,它将:

  1. 停止从队列接收消息
  2. 完成当前管道中所有消息的处理
  3. Stop/Shutdown

调用 IEndpointInstance.Stop() 时 NServiceBus 端点会做什么?是否正常完成对当前消息的处理?它会中止或取消它们吗?我找不到任何概述调用 Stop 时遵循的步骤的文档,是否存在?

Daniel Marbach 已经在我们的 Google 网上论坛中提供了答案 https://groups.google.com/d/msg/particularsoftware/YjveqZYOs6c/gL1VIgxPAwAJ

这与您的预期基本相同,但与传输不同并且取决于交易模式。

  • 它将停止从队列接收消息
  • 完成处理当前在管道中的消息(一些传输会这样做 无限期地像 RabbitMQ 或有 30 秒的超时 i.ex。 MSMQ)
  • Stop/shutdown