Groovy

Overview

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 4, “Adding the camel-script dependency”.

Example 4. Adding the camel-script dependency

<!-- Maven POM File -->
<properties>
  <camel-version>2.11.0-fuse-00-xx</camel-version>
  ...
</properties>

<dependencies>
  ...
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-script</artifactId>
    <version>${camel-version}</version>
  </dependency>
  ...
</dependencies>

Built-in attributes

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

Table 3. Groovy attributes

AttributeTypeValue
contextorg.apache.camel.CamelContextThe Camel Context
exchangeorg.apache.camel.ExchangeThe current Exchange
requestorg.apache.camel.MessageThe IN message
responseorg.apache.camel.MessageThe OUT message

The attributes all set at ENGINE_SCOPE.

Example

Example 5, “Routes using Groovy” shows two routes that use Groovy scripts.

Example 5. Routes using Groovy

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