MVEL (http://www.opensymphony.com/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.
To use OGNL in your routes you need to add a dependency on
camel-ognl to your project as shown in
Example 11, “Adding the camel-ognl dependency”.
Example 11. 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>Table 6, “OGNL variables” lists the built-in variables that are accessible when using OGNL.
Table 6. OGNL variables
| Name | Type | Description |
|---|---|---|
this | org.apache.camel.Exchange | The current Exchange |
exchange | org.apache.camel.Exchange | The current Exchange |
exception | Throwable | the Exchange exception (if any) |
exchangeID | String | the Exchange ID |
fault | org.apache.camel.Message | The Fault message(if any) |
request | org.apache.camel.Message | The IN message |
response | org.apache.camel.Message | The OUT message |
properties | Map | The Exchange properties |
property( | Object | The value of the named Exchange property |
property( | | The typed value of the named Exchange property |
Example 12, “Route using OGNL” shows a route that uses OGNL.
Example 12. 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>