In Service Bus pipelines we can implement conditional routing. We have already seen operational branches that define a path based on the operation that was invoked on the pipeline’s interface. A similar construct, called conditional branch, can be configured with multiple branches, one of which is executed according to an XPath expression. Whichever condition is satisfied first determines which branch is executed. If none of the branch conditions is satisfied, then the default branch is performed.
Routing Table is a similar activity where multiple routing options are configured, one of which is executed depending on the evaluation of an XPath expression.The dynamic routing activity is another mechanism with which a form of content based routing can be realized. The business service or pipeline to route the message to is determined using an XQuery expression – one that could for example read a routing table from an XML file or Domain Value Map.
Blog article: Siva’s Blog – Using Dynamic Routing in OSB
Blog article: Ahmed Aboulnaga – True dynamic routing with OSB 11g