Releases: tbd-develop/Mediator.Outbox
Message Processor
Need better integration testing around the message queue processor, an error was being thrown because the wrong class was being used to get the generic method form which to publish the message to the actual notification publisher.
Corrects registration for Queue Processor
Queue processor was missing from DI, this isn't something that is overridden right now so doesn't make sense to make the user configure it.
Correcting .NET 9 Release
Update release.yml Updated to .NET 9.0.x
.NET 9
Updated to .NET 9 and upgrade libraries to latest version, including EF Core to 9.0.2.
Library used primarily in personal project, an upgrade to EF Core 9 there exposed an issue with having these libraries on differing versions.
Dead Letter Queue
This release introduces the concept of a dead letter queue to the outbox. When a message fails to process, retries are incremented and after other messages have been handled, retried messages are attempted again. Up to a defined max retry limit. Once the retry limit has been exceeded, the message is moved to a dead letter queue.
The dead letter queue is functionally compatible with the outbox, so if you want to move a message back to the queue later, you can do.
0.0.5
Provide extension for application create to run migration on database and create necessary outbox database table.
Corrected timeout behavior in worker service
Worker service was incorrectly polling, not using the interval unless a message was to be processed. Corrected this so messages will be processed quickly and the interval delay is only in the case where there are no messages or a failure.
Configurable Background Service Timeouts
The monitoring service for dequeuing and publishing the events from the outbox was aggressively querying the table every 25ms. Made this a configuration along with allowing the setting to stop processing and re-throw the exception instead of backing off and retrying.
Outbox Storage missing
The outbox storage registration was missing from SqlServer
First Release
Mediator Outbox simple functional implementation including Sql Server Outbox component. Need to create table.