Почему сообщение отправляется всем сагам?

Я использую Rhino Service Bus и у меня есть две саги, SaveCustomerSaga и ProcessReceiptSaga. Обе эти операции отправляют UpdateInvoicesCommand стандартному получателю сообщений. Ни одна из саг не будет завершена, пока счета не будут обновлены. Обе саги реализуют Orchestrates<'InvoicesUpdated> для завершения. Один и тот же CorrelationId используется для всех сообщений.

Однако, когда потребитель UpdateInvoicesCommand отвечает сообщением InvoicesUpdated, он отправляется обеим Sagas! Событие, хотя один из них даже не был инициирован, а CorrelationId принадлежит другой уже запущенной саге.

Разве он не должен отправлять его только соответствующей саге с соответствующим CorrelationId? Есть ли способ обойти или перехват, который я могу сделать, чтобы навязать это поведение?

(При использовании v2.3.0, однако, быстрый взгляд на историю коммитов не кажется новыми изменениями, связанными с этим.)

0 ответов

Другие вопросы по тегам