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>