We support Rules based routing using the Drools rule engine. The basic idea is you expose a DroolsComponent at some service/interface/operation endpoint in ServiceMix then let it perform rules based routing, or other actions as required.
You can deploy a DroolsComponent with a rule base which will be fired when it is invoked. The rule base is then in complete control over messge dispatching.
Error formatting macro: snippet: java.lang.NullPointerException
Then you can create your Drools rule base using whatever Drools mechanism you wish. For example here's the default Java semantic module to perform custom routing
Error formatting macro: snippet: java.lang.NullPointerException