Chapter 24. The Object-Graph Navigation Language(OGNL)
Overview
OGNL is an expression language for getting and setting properties of Java objects. You use the same expression for both getting and setting the value of a property. The OGNL support is in the camel-ognl
module.
Camel on EAP deployment
This component is supported by the Camel on EAP (Wildfly Camel) framework, which offers a simplified deployment model on the Red Hat JBoss Enterprise Application Platform (JBoss EAP) container.
Adding the OGNL module
To use OGNL in your routes you need to add a dependency on camel-ognl
to your project as shown in Example 24.1, “Adding the camel-ognl dependency”.
Example 24.1. Adding the camel-ognl dependency
<!-- Maven POM File --> ... <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ognl</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
Static import
To use the ognl()
static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.language.ognl.OgnlExpression.ognl;
Built-in variables
Table 24.1, “OGNL variables” lists the built-in variables that are accessible when using OGNL.
Name | Type | Description |
---|---|---|
|
| The current Exchange |
|
| The current Exchange |
|
| the Exchange exception (if any) |
|
| the Exchange ID |
|
| The Fault message(if any) |
|
| The IN message |
|
| The OUT message |
|
| The Exchange properties |
|
| The value of the named Exchange property |
|
| The typed value of the named Exchange property |
Example
Example 24.2, “Route using OGNL” shows a route that uses OGNL.
Example 24.2. Route using OGNL
<camelContext> <route> <from uri="seda:foo"/> <filter> <language langauge="ognl">request.headers.foo == 'bar'</language> <to uri="seda:bar"/> </filter> </route> </camelContext>