Chapter 14. EL
Overview
The Unified Expression Language (EL) was originally specified as part of the JSP 2.1 standard (JSR-245), but it is now available as a standalone language. Apache Camel integrates with JUEL (http://juel.sourceforge.net/), which is an open source implementation of the EL language.
Adding JUEL package
To use EL in your routes you need to add a dependency on
camel-juel
to your project as shown in Example 14.1, “Adding the camel-juel dependency”.
Example 14.1. Adding the camel-juel dependency
<!-- Maven POM File --> <properties> <camel-version>2.15.1.redhat-620133</camel-version> ... </properties> <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-juel</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
Static import
To use the
el()
static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.language.juel.JuelExpression.el;
Variables
Table 14.1, “EL variables” lists the variables that are accessible when using EL.
Variable | Type | Value |
---|---|---|
exchange | org.apache.camel.Exchange | The current Exchange |
in | org.apache.camel.Message | The IN message |
out | org.apache.camel.Message | The OUT message |
Example
Example 14.2, “Routes using EL” shows two routes that use EL.
Example 14.2. Routes using EL
<camelContext> <route> <from uri="seda:foo"/> <filter> <language language="el">${in.headers.foo == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> <route> <from uri="seda:foo2"/> <filter> <language language="el">${in.headers['My Header'] == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> </camelContext>