Skip to content

fix: Use per-queue DLX exchange overrides and add regression coverage#1865

Merged
jeremydmiller merged 1 commit intoJasperFx:mainfrom
frankvdb7:fix-dlx-exchange
Nov 25, 2025
Merged

fix: Use per-queue DLX exchange overrides and add regression coverage#1865
jeremydmiller merged 1 commit intoJasperFx:mainfrom
frankvdb7:fix-dlx-exchange

Conversation

@frankvdb7
Copy link
Contributor

fix: Use per-queue DLX exchange overrides

Per-queue RabbitMQ DLX overrides were ignored because the transport and queues shared the same DeadLetterQueue instance. When a per-queue override was applied, later uses of the shared instance (or transport default) overwrote the queue’s exchange name, so the queue was declared with the transport’s default DLX instead of the specified per queue DLX.

  • Ensure RabbitMQ queues get independent DLQ instances (cloned) so per-queue overrides aren’t overwritten by transport defaults.
  • Keep per-queue x-dead-letter-exchange values intact during queue declaration.
  • Add regression tests for default+override DLX scenarios and queue declaration arguments.

Closes #1864

@frankvdb7 frankvdb7 marked this pull request as ready for review November 25, 2025 14:49
@jeremydmiller jeremydmiller merged commit 2e170a0 into JasperFx:main Nov 25, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-queue RabbitMQ DLX overrides ignored when transport DLX is customized

2 participants