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:
See Scripting Languages for the list of languages with explicit DSL support.
Available as of Camel 2.8
You can provide additional arguments to the ScriptingEngine using a header on the Camel message with the key CamelScriptArguments.
Available as of Camel 2.9
If you need to use the Properties component from a script to lookup property placeholders, then its a bit cumbersome to do so.
From Camel 2.9 onwards you can now use the properties function and the same example is simpler:
Available as of Camel 2.11
You can externalize the script and have Camel load it from a resource such as "classpath:", "file:", or "http:".
To use scripting languages in your camel routes you need to add the a dependency on camel-script which integrates the JSR-223 scripting engine.
If you use maven you could just add the following to your pom.xml, substituting the version number for the latest & greatest release (see the download page for the latest versions).