This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, go to

Message Routing

A message router is a basic architectural pattern of a messaging system used fundamentally for connecting different message channels. A router consumes a message from one message channel and republishes it to a different channel based on specified conditions.

This chapter introduces various types of routers and how each of them can be simulated using the ESB profile of WSO2 EI.

Content-Based Router

How to handle a situation when the implementation of a single logical function (such as an inventory check) is spread across multiple physical systems.

Message Filter

How a component avoids receiving uninteresting messages.


How to avoid the dependency of a router in all possible destinations, while maintaining its efficiency.

How to route a message to a list of dynamically specified recipients.

How to process a message if it contains multiple elements, each of which may have to be processed in a different way.


How to combine the results of individual but related messages so that they can be processed as a whole.

Composed Msg. Processor

How to maintain the overall flow when processing a message consisting of multiple elements, each of which may require different processing.

How to maintain the overall flow when a message needs to be sent to multiple recipients, each of which may send a reply.

Routing Slip

How to route a message consecutively through a series of steps when the sequence of the steps is not known at design time and may vary for each message.

Process Manager

How to route a message through multiple processing steps, when the required steps may not be known at design time and may not be sequential.

Message Broker

How to decouple the destination of a message from the sender and maintain central control over the flow of messages.