remit icon indicating copy to clipboard operation
remit copied to clipboard

Transient endpoints and returning un-routed messages

Open jpwilliams opened this issue 6 years ago • 0 comments

Closes #43, but also related to #45 and #58.

Was a discussion way back when about whether we should change endpoints to be transient by default rather than persist even when they have no consumers available. We settled on transient by default, but never actually implemented the changes.

This should clear things up and comes with the added bonus of mandatory: true messages, meaning if a request is sent and cannot be routed to any endpoints, it immediately returns. In terms of "failing fast", this is ace.

If people want to use the old behaviour then, well, they can't. Turning the option on or off would mean managing two different queues for the same endpoint where consumers could only consume from one at a time. That just isn't reasonable.

This is unfortunately a breaking change though. Even though the API doesn't change, the nonequivalent queue parameters means that RabbitMQ queues have to be recreated to work, meaning people's setups will break if they upgrade.

jpwilliams avatar Dec 01 '19 18:12 jpwilliams