Enterprise Integration Patterns
Messaging Patterns
Messaging Patterns
Message RouterMessage RouterMessaging Patterns » Messaging Systems

Multiple processing steps in a Pipes and Filters chain are connected by Message Channels.

How can you decouple individual processing steps so that messages can be passed to different filters depending on a set of conditions?

Insert a special filter, a Message Router, which consumes a Message from one Message Channel and republishes it to a different Message Channel channel depending on a set of conditions.

The Message Router differs from the most basic notion of Pipes and Filters in that it connects to multiple output channels. Thanks to the Pipes and Filters architecture the components surrounding the Message Router are completely unaware of the existence of a Message Router. A key property of the Message Router is that it does not modify the message contents. It only concerns itself with the destination of the message.

The key benefit of using a Message Router is that the decision criteria for the destination of a message are maintained in a single location. If new message types are defined, new processing components are added, or the routing rules change, we need to change only the Message Router logic and all other components remain unaffected. Also, since all messages pass through a single Message Router, incoming messages are guaranteed to be processed one-by-one in the correct order.

... Read the entire pattern in the book Enterprise Integration Patterns

Related patterns:

Channel Adapter, Content-Based Router, Control Bus, Datatype Channel, Dynamic Router, Message Filter, Message, Message Channel, Message History, Introduction to Message Routing, Message Translator, Pipes and Filters, Publish-Subscribe Channel, Transactional Client

Creative Commons Attribution License

You can reuse the following elements under the Creative Commons Attribution license: pattern icon, pattern name, problem and solution statements (in bold), and the sketch. Other portions are protected by copyright.

Enterprise Integration Patterns book cover

Enterprise Integration Patterns
The classic, as relevant as ever. Over 90,000 copies sold.

Software Architect Elevator book cover

The Software Architect Elevator
Learn how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills.

Cloud Strategy book cover

Cloud Strategy
Fill the large gap between high-level goals and product details by understanding decision trade-offs.