Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 17. JavaScript


JavaScript, also known as ECMAScript is a Java-based scripting language that allows quick parsing of object. The JavaScript support is part of the camel-script module.

Adding the script module

To use JavaScript in your routes you need to add a dependency on camel-script to your project as shown in Example 17.1, “Adding the camel-script dependency”.

Example 17.1. Adding the camel-script dependency

<!-- Maven POM File -->


Static import

To use the javaScript() static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.builder.camel.script.ScriptBuilder.*;

Built-in attributes

Table 17.1, “JavaScript attributes” lists the built-in attributes that are accessible when using JavaScript.

Table 17.1. JavaScript attributes

contextorg.apache.camel.CamelContextThe Camel Context
exchangeorg.apache.camel.ExchangeThe current Exchange
requestorg.apache.camel.MessageThe IN message
responseorg.apache.camel.MessageThe OUT message
propertiesorg.apache.camel.builder.script.PropertiesFunctionFunction with a resolve method to make it easier to use the properties component inside scripts.
The attributes all set at ENGINE_SCOPE.


Example 17.2, “Route using JavaScript” shows a route that uses JavaScript.

Example 17.2. Route using JavaScript

    <from uri="direct:start"/>
        <langauge langauge="javaScript">request.headers.get('user') == 'admin'</langauge>
        <to uri="seda:adminQueue"/>
        <to uri="seda:regularQueue"/>

Using the properties component

To access a property value from the properties component, invoke the resolve method on the built-in properties attribute, as follows:
Where PropKey is the key of the property you want to resolve, where the key value is of String type.
For more details about the properties component, see .