我想知道NServiceBus事务何时在特定场景中结束。方案如下:
交易(默认情况下)是否在以下时间结束:
请注意,订户不是系统的一部分,不一定使用NServiceBus,甚至不是.NET。
答案 0 :(得分:6)
当传入消息的所有消息处理程序已成功运行(或在发生故障时回滚)时,它以提交结束。
在您的方案中,在事件发布并由基础传输接受之后。对于MSMQ,其存储转发架构意味着写入每个订户的传出队列。对于像RabbitMQ这样的代理传输,它意味着写在代理上的磁盘上。 (默认情况下。您可以通过明确更改选项来使其更加危险)