Skip to content

Comments

Automatic local fanout for separated handlers (GH-2198)#2199

Merged
jeremydmiller merged 2 commits intomainfrom
fanout-to-separated-handlers
Feb 16, 2026
Merged

Automatic local fanout for separated handlers (GH-2198)#2199
jeremydmiller merged 2 commits intomainfrom
fanout-to-separated-handlers

Conversation

@jeremydmiller
Copy link
Member

Summary

  • When using MultipleHandlerBehavior.Separated with external broker endpoints (RabbitMQ, Kafka, Azure Service Bus, etc.), messages now automatically fan out to all separated local handler queues instead of throwing NoHandlerForEndpointException
  • Added FanoutMessageHandler<T> that receives the message at the external endpoint and re-publishes it to each local queue, preserving envelope headers
  • Updated modular monolith tutorial to document this automatic fanout behavior

Test plan

  • New RabbitMQ integration test verifies 3 separated handlers all execute when a message arrives from an external queue
  • Existing sticky_message_handlers CoreTests still pass (sending to an unmatched local queue still throws the expected exception)
  • Full CoreTests suite passes (1013/1013)
  • Existing Bug_1684_separated_handlers_and_conventional_routing test still passes

🤖 Generated with Claude Code

jeremydmiller and others added 2 commits February 16, 2026 10:44
…GH-2198)

When using MultipleHandlerBehavior.Separated with external brokers, messages
now automatically fan out to all local handler queues instead of throwing
NoHandlerForEndpointException.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…monolith tutorial

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant