Ref
Since Camel 2.8
The Ref Expression Language is really just a way to lookup a custom Expression or Predicate from the Registry.
This is particular useable in XML DSLs.
Ref Language options
The Ref language supports the following options which are listed below.
| Name | Default | Java Type | Description |
|---|---|---|---|
| The class of the result type (type from output). | ||
|
| Whether to trim the source code to remove leading and trailing whitespaces and line breaks. | |
|
| Whether a result of the expression that is a String starting with resource: is loaded as a resource and its content becomes the result, e.g. a script that returns resource:file:order.json or resource:classpath:templates/order.json (a name without a scheme is a classpath resource). Off by default; the resource: prefix on the expression text itself is always resolved. Applies to the expression used as a value, not as a predicate. |
Example usage
The Splitter EIP can utilize a custom expression using ref like:
-
Java
-
XML
-
YAML
from("seda:a").split().ref("myExpression").to("seda:b"); <bean id="myExpression" class="com.mycompany.MyCustomExpression"/>
<route>
<from uri="seda:a"/>
<split>
<ref>myExpression</ref>
<to uri="mock:b"/>
</split>
</route> - route:
from:
uri: seda:a
steps:
- split:
expression:
ref:
expression: myExpression
steps:
- to:
uri: mock:b In this case, the message coming from the seda:a endpoint will be split using a custom Expression which has the id myExpression in the Registry.