.netazureservicebusmasstransitoutbox-pattern

MassTransit transactional outbox for segmented messages


I have a service which breaks down a large message into multiple parts and publishes to Azure Service Bus.

I now would like a consumer to consume these parts, but not publish or act on them until all parts have been received.

Is there a way I can customise or use MassTransit's inbox table from the transactional outbox to only publish an event when all parts of the message are received, and then clear the inbox table of those parts once published to the outbox?


Solution

  • Short answer, no, the inbox/outbox are not designed for anything close to what you are suggesting.

    You could look at processing those segments in a batch based upon how this batch sample works. Not sure if that helps you, but it's typically how those types of problems are approached.