Hi everyone:
I am trying to configure "delayPattern" in an onException clause as follows:
.onException(Exception.class)
.delayPattern("{{redelivery.delayPattern}}")
The "redelivery.delayPattern" property is configured in Blueprint like this:
<cm:property name="redelivery.delayPattern" value="0:5000" />
When an exception is handled, redelivery fails with the following exception:
java.lang.NumberFormatException: null
at java.lang.Long.parseLong(Long.java:552)[:1.8.0_51]
at java.lang.Long.valueOf(Long.java:803)[:1.8.0_51]
at
org.apache.camel.processor.RedeliveryPolicy.calculateRedeliverDelayUsingPattern(RedeliveryPolicy.java:246)[141:org.apache.camel.camel-core:2.15.2]
at
org.apache.camel.processor.RedeliveryPolicy.calculateRedeliveryDelay(RedeliveryPolicy.java:205)[141:org.apache.camel.camel-core:2.15.2]
at
org.apache.camel.processor.RedeliveryErrorHandler.determineRedeliveryDelay(RedeliveryErrorHandler.java:504)[141:org.apache.camel.camel-core:2.15.2]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:394)[141:org.apache.camel.camel-core:2.15.2]
The configured property can be logged without issues:
.log("delayPattern: {{redelivery.delayPattern}}") => delayPattern: 0:5000
Other properties of RedeliveryPolicy, such as "maximumRedeliveries",
work without any issues, e.g.:
.onException(Exception.class)
.maximumRedeliveries("{{redelivery.maximumRedeliveries}}")
I use Camel 2.15.2 on Karaf 3.0.4/ServiceMix 6.0.0.
Any ideas why delayPattern can't be configured with property placeholders?
Thanks in advance,
Gregor