Camel supports a number of scripting languages which can be used to create an Expression or Predicate via the standard JSR 223 which is a standard part of Java 6. The following scripting languages are integrated into the DSL.
However any JSR 223 scripting language can be used using the generic DSL methods.
The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at ENGINE_SCOPE:
The Camel Context
The current Exchange
The IN message
The OUT message
You can add your own attributes with the attribute(name, value) DSL method, such as:
In the sample below we add an attribute user that is an object we already have instantiated as myUser. This object has a getFirstName() method that we want to set as header on the message. We use the groovy language to concat the first and last name into a single string that is returned.