我们正在从本土总线迁移到NServiceBus,我正在迁移我们当前的端点。目前,如果端点收到停止请求,它将:
- 停止从队列接收消息
- 完成处理当前管道中的任何消息
- 停止/关机
当调用 IEndpointInstance.Stop(( 时,NServiceBus 端点会做什么? 它是否正常完成处理当前消息? 它会中止还是取消它们? 我找不到任何概述调用 Stop 时遵循的步骤的文档,是否存在任何文档?
Daniel Marbach 已经在我们的 Google 网上论坛上给出了答案https://groups.google.com/d/msg/particularsoftware/YjveqZYOs6c/gL1VIgxPAwAJ
它基本上与您期望的相同,但与传输不同,并且取决于事务模式。
- 它将停止从队列接收消息
- 完成当前管道中的消息处理(某些传输会这样做(无限期地喜欢 RabbitMQ 或超时 30 秒,即MSMQ(
- 停止/关机