JavaScript
Camel supports JavaScript/ECMAScript among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration.
To use a JavaScript expression use the following Java code
... javaScript("someJavaScriptExpression") ...
For example you could use the javaScript function to create an Predicate in a Message Filter or as an Expression for a Recipient List
Example
In the sample below we use JavaScript to create a Predicate use in the route path, to route exchanges from admin users to a special queue.
from("direct:start") .choice() .when().javaScript("request.headers.get('user') == 'admin'").to("seda:adminQueue") .otherwise() .to("seda:regularQueue");
And a Spring DSL sample as well:
<route> <from uri="direct:start"/> <choice> <when> <javaScript>request.headers.get('user') == 'admin'</javaScript> <to uri="seda:adminQueue"/> </when> <otherwise> <to uri="seda:regularQueue"/> </otherwise> </choice> </route>