使用 nservicebus 时,如果其中一个事件处理程序在 pub sub 期间抛出异常会发生什么?
1.) 是否所有事件处理程序都回滚并重新执行事件 EX(事件处理程序 1 成功,但事件处理程序 2 引发异常)?
或
2.) 成功的那些是否不会再次执行,而只执行抛出异常的事件处理程序?
事件在其
自己的事务上下文中运行.. 这意味着,只有失败的事件才会重试该节点
根据我对nServiceBus的理解,节点是一个队列,它可以为一个事件有多个处理程序,但它只会为该节点中的所有处理程序获取一条事件消息。
如果其中一个处理程序引发异常,事务将回滚并重试节点中的所有处理程序。