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

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 WSO2 ESB.

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.

Dynamic Router

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.


How to put a stream of related but out-of-sequence messages back into the correct order.

Currently, you can use this resequencing pattern only through the Management Console of WSO2 Enterprise Service Bus 4.9.0. In future, this will be implemented with Tooling support in latter WSO2 ESB versions.