Since Camel 1.5
The Constant Expression Language is really just a way to use a constant value or object.
This is a fixed constant value (or object) that is only set once during starting up the route, do not use this if you want dynamic values during routing.
The Constant language supports 2 options, which are listed below.
| || |
Sets the class name of the constant type.
| || || |
Whether to trim the value to remove leading and trailing whitespaces and line breaks.
setHeader EIP can utilize a constant expression like:
<route> <from uri="seda:a"/> <setHeader name="theHeader"> <constant>the value</constant> </setHeader> <to uri="mock:b"/> </route>
in this case, the message coming from the seda:a endpoint will have the header with key
theHeader set its value as
the value (string type).
And the same example using Java DSL:
from("seda:a") .setHeader("theHeader", constant("the value")) .to("mock:b");
resultType can be used to specify the type of the value, when the value is given as a
String value, which happens when using XML or YAML DSL:
For example to set a header with
int type you can do:
<route> <from uri="seda:a"/> <setHeader name="zipCode"> <constant resultType="int">90210</constant> </setHeader> <to uri="mock:b"/> </route>
You can externalize the constant and have Camel load it from a resource such as
This is done using the following syntax:
"resource:scheme:location", eg to refer to a file on the classpath you can do: