Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 15. Groovy


Groovy is a Java-based scripting language that allows quick parsing of object. The Groovy support is part of the camel-script module.

Adding the script module

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

Example 15.1. Adding the camel-script dependency

<!-- Maven POM File -->


Static import

To use the groovy() 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 15.1, “Groovy attributes” lists the built-in attributes that are accessible when using Groovy.

Table 15.1. Groovy 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 15.2, “Routes using Groovy” shows two routes that use Groovy scripts.

Example 15.2. Routes using Groovy

    <from uri=""mock:mock0" />
      <language language="groovy">request.lineItems.any { i -> i.value > 100 }</language>
      <to uri="mock:mock1" />
    <from uri="direct:in"/>
    <setHeader headerName="firstName">
      <language language="groovy">$user.firstName $user.lastName</language>
    <to uri="seda:users"/>

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 .