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