11.9. Defining External Rules for Content-Based Routing with Regex

  1. Open the file jboss-esb.xml and set the cbrAlias property to Regex.
  2. Define the routing expressions in a .properties file. The property keys should be the destination names and the property values are the Regex expressions for routing to the destination.
  3. Define the routing rules in the route-to configurations (found in the container destination property) with the destination-name attribute set to the Regex rule key as defined in the .properties file.
    <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
       <property name="cbrAlias" value="XPath"/>
       <property name="ruleSet" value="/rules/regex-rules.properties"/>
       <property name="ruleReload" value="true"/>
       <property name="destinations">
           <route-to destination-name="blue"  service-category="BlueTeam"  service-name="GoBlue" />
           <route-to destination-name="red"   service-category="RedTeam"   service-name="GoRed" />
           <route-to destination-name="green" service-category="GreenTeam" service-name="GoGreen" />
       </property>
    </action>
    
    The XPath rules are in a .properties file and are represented in this format:
    blue=#*111#*
    red=#*222#*
    green=#*333#*