OGNL has been edited by Claus Ibsen (Aug 19, 2008).

Change summary:

Added syntax to OGNL

(View changes)

Content:

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
in Message the exchange.in message
out Message the exchange.out message (if any)
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:

"in.familyName"
or 
"in.getFamilyName()"

Reply via email to