3.6. Miscellaneous Changes
Dead letter channel EIP
Since Apache Camel 2.11, setting
allowRedeliveryWhileStopping=false
on the dead letter channel EIP now moves the current message to the dead letter channel (when stopping), instead of rejecting the message.
Simple language
Since Apache Camel 2.11, the Simple language has limited its support for the escape character to only new line, carriage return and tab characters. This makes it easier to use back-slash characters in the Simple language without double escaping etc.
Thread pools
Since Apache Camel 2.11, if the
maximumQueueSize
property of Thread Pools or Thread Pool Profile has a value that is 0
or negative, this now means disable the worker queue, and use direct handover. If you want an unbounded queue size, set the maximumQueueSize
to Integer.MAX_VALUE
, which was what the code previously did.
Route ID validation
Since Apache Camel 2.11, explicitly assigned route IDs on Apache Camel routes are now validated as the route starts up, in order to ensure that route IDs are unique in the current
CamelContext
.
Graceful shutdown
Since Apache Camel 2.12, requires the timeout value to be positive.
Tracer
Since Apache Camel 2.12, the tracer must be explicitly enabled on
CamelContext
in order to be available in and in use.
Simple language
Since Apache Camel 2.12, the unary operators are only applied to functions.
Since Apache Camel 2.12, you can access an exception message in the XML DSL only as
${exception.message}
, not as ${exception}
. Hence, if you have any code like the following:
<setHeader headerName="DLQ_Reason"> <simple>${exception}</simple> </setHeader>
You must replace it by code like the following:
<setHeader headerName="DLQ_Reason"> <simple>${exception.message}</simple> </setHeader>
JMX
Since Apache Camel 2.12, you cannot use the JMX bean,
org.apache.camel.api.management.mbean.ManagedSendProcessorMBean
, to change the destination.