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

... 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


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.

            .when().ruby("$request.headers['user'] == 'admin'").to("seda:adminQueue")

And a Spring DSL sample as well:

        <from uri="direct:start"/>
                <ruby>$request.headers['user'] == 'admin'</ruby>
                <to uri="seda:adminQueue"/>
                <to uri="seda:regularQueue"/>

Error rendering macro 'include'

org.owasp.validator.html.ScanException: java.util.EmptyStackException

  • No labels