...
A complex expression must use ${ } placeholders, such as: "Hello ${in.header.name} how are you?"
.
You can have multiple tokens functions in the same expression: "Hello ${in.header.name} this is ${in.header.me} speaking"
.
However you can not nest tokens functions in Camel 2.8.x or older (i.e. having another ${ } placeholder in an existing, is not allowed).
From Camel 2.9 onwards you can nest functions.
Variables
Variable | Type | Description | ||
---|---|---|---|---|
exchangeId | String | Camel 2.3: the exchange id | ||
id | String | the input message id | ||
body | Object | the input body | ||
in.body | Object | the input body | ||
body.OGNL | Object | Camel 2.3: the input body invoked using a Camel OGNL expression. | ||
in.body.OGNL | Object | Camel 2.3: the input body invoked using a Camel OGNL expression. | ||
bodyAs(type) | Type | Camel 2.3: Converts the body to the given type determined by its classname. The converted body can be null. | ||
mandatoryBodyAs(type) | Type | Camel 2.5: Converts the body to the given type determined by its classname, and expects the body to be not null. | ||
out.body | Object | the output body | ||
header.foo | Object | refer to the input foo header | ||
headers.foo | Object | refer to the input foo header | ||
in.header.foo | Object | refer to the input foo header | ||
in.headers.foo | Object | refer to the input foo header | ||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4ffbb332506ecaa9-64149664-42d84765-a2c5bc18-0e62595c6c77c5417d244738"><ac:plain-text-body><![CDATA[ | header.foo[bar] | Object | Camel 2.3: regard input foo header as a map and perform lookup on the map with bar as key | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="101fce0cde91f041-1ad263cb-42494c8e-b1e48c4a-0d00eb9d6d4f1a9341c4e462"><ac:plain-text-body><![CDATA[ | in.header.foo[bar] | Object | Camel 2.3: regard input foo header as a map and perform lookup on the map with bar as key | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="163c7c44798b0005-0df21aa6-40f94efa-bb46bc16-c34df3e24e486bc01f09821c"><ac:plain-text-body><![CDATA[ | in.headers.foo[bar] | Object | Camel 2.3: regard input foo header as a map and perform lookup on the map with bar as key | ]]></ac:plain-text-body></ac:structured-macro> |
header.foo.OGNL | Object | Camel 2.3: refer to the input foo header and invoke its value using a Camel OGNL expression. | ||
in.header.foo.OGNL | Object | Camel 2.3: refer to the input foo header and invoke its value using a Camel OGNL expression. | ||
in.headers.foo.OGNL | Object | Camel 2.3: refer to the input foo header and invoke its value using a Camel OGNL expression. | ||
out.header.foo | Object | refer to the out header foo | ||
out.headers.foo | Object | refer to the out header foo | ||
headerAs(key,type) | Type | Camel 2.5: Converts the header to the given type determined by its classname | ||
headers | Map | Camel 2.9: refer to the input headers | ||
in.headers | Map | Camel 2.9: refer to the input headers | ||
property.foo | Object | refer to the foo property on the exchange | ||
property.foo.OGNL | Object | Camel 2.8: refer to the foo property on the exchange and invoke its value using a Camel OGNL expression. | ||
sys.foo | String | refer to the system property | ||
sysenv.foo | String | Camel 2.3: refer to the system environment | ||
exception | Object | Camel 2.4: Refer to the exception object on the exchange, is null if no exception set on exchange. Will fallback and grab caught exceptions ( | ||
exception.OGNL | Object | Camel 2.4: Refer to the exchange exception invoked using a Camel OGNL expression object | ||
exception.message | String | Camel 2.0. Refer to the exception.message on the exchange, is null if no exception set on exchange. Will fallback and grab caught exceptions ( | ||
exception.stacktrace | String | Camel 2.6. Refer to the exception.stracktrace on the exchange, is null if no exception set on exchange. Will fallback and grab caught exceptions ( | ||
date:command:pattern | String | Camel 1.5. Date formatting using the | ||
bean:bean expression | Object | Camel 1.5. Invoking a bean expression using the Bean language. Specifying a method name you must use dot as separator. In Camel 2.0 we also support the ?method=methodname syntax that is used by the Bean component. | ||
properties:locations:key | String | Camel 2.3: Lookup a property with the given key. The | ||
threadName | String | Camel 2.3: Returns the name of the current thread. Can be used for logging purpose. | ||
ref:xxx | Object | Camel 2.6: To lookup a bean from the Registry with the given id. |
...
In the code above we lookup the header with name type
and regard it as a java.util.Map
and we then lookup with the key gold
and return the value.
If the header is not convertible to Map an exception is thrown. If the header with name type
does not exist null
is returned.
From Camel 2.9 onwards you can nest functions, such as shown below:
Code Block | ||||
---|---|---|---|---|
| ||||
<setHeader headerName="myHeader">
<simple>${properties:${header.someKey}}</simple>
</setHeader>
|
Setting result type
Available as of Camel 2.8
...