OGNL
Camel allows OGNL to be used as an Expression or Predicate the DSL or Xml Configuration.
For example you could use OGNL inside a Message Filter in XML
<route> <from uri="seda:foo"/> <filter> <ognl>request.headers.foo = 'bar'</ognl> <to uri="seda:bar"/> </filter> </route>
You could use OGNL to create an Predicate in a Message Filter or as an Expression for a Recipient List
Syntax
Expression |
Type |
Description |
---|---|---|
exchange |
Exchange |
the Exchange object |
exception |
Thorwable |
the Exchange exception (if any) |
exchangeId |
String |
the exchange Id |
fault |
Message |
the Fault message (if any) |
request |
Message |
the exchange.in message |
response |
Message |
the exchange.out message (if any) |
properties |
Map |
the exchange properties |
property(name) |
Object |
the property by the given name |
property(name, type) |
Type |
the property by the given name as the given type |
You can use OGNL dot notation to invoke operations. If you for instance have a body that contains a POJO that has a getFamiliyName
method then you can construct the syntax as follows:
"request.body.familyName" // or "getRequest().getBody().getFamilyName()"