Why does a message get dispatched to all Sagas?

103 views Asked by At

I'm using Rhino Service Bus and I've two sagas, SaveCustomerSaga and a ProcessReceiptSaga both of these operations send UpdateInvoicesCommand to a standard message consumer. Neither of the Sagas are completed until the Invoices have been updated. Both sagas implement Orchestrates<'InvoicesUpdated> to complete. The same CorrelationId is used for all messages.

However when the consumer of UpdateInvoicesCommand replies with the message InvoicesUpdated, it's dispatched to both Sagas! Event though one of them hasn't even been initiated and the CorrelationId belongs to the other already started Saga.

Shouldn't it dispatch it only to the appropriate Saga with the matching CorrelationId? Is there a work around or an intercept I can do to enforce this behaviour?

(Using v2.3.0, however a quick look at commit history doesn't appear to be new changes relating to this.)

0

There are 0 answers