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.
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.
To use OGNL in your routes you need to add a dependency on
camel-ognl to your project as shown in
Example 14, “Adding the camel-ognl dependency”.
Example 14. 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>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;
Table 11, “OGNL variables” lists the built-in variables that are accessible when using OGNL.
Table 11. OGNL variables
| 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 15, “Route using OGNL” shows a route that uses OGNL.
Example 15. 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>