Getting produced no reply for request Message from element "int:delayer" implemented inside chain ("int:chain").
Inside delayer expression and default-delay evaluated successfully after that getting below error due to which retry is not working in case of any failure.
from source: ''int:delayer' with id='delayRetry''' produced no reply for request Message
Tried setting value for requires-reply='false' for the calling parent component. but still getting same issue
Code Snippet:
<int:header-enricher>
<int:header name="delay" expression="headers.containsKey('SomeVariable')?0:(headers['adviceDelay']?:1000)*1.2"
type="java.lang.Integer" overwrite="true" />
</int:header-enricher>
<int:delayer id=delayRetry " expression="headers['delay']" default-delay="100" ignore-expression-failures="false"
message-store="adviceRetryMessageStore" scheduler="delayerTaskScheduler">
<int:transactionaltransaction-manager = jdbcTransactionManager " />
</int:delayer>
<int:routerexpression = "headers.someChannel" />
Here we are setting delay value based on condition defined in expression headers.containsKey('SomeVariable')
- If this condition satisfies then, adding 0 delay in retry. In this case retry is working fine and flow routed back to
headers.someChannel
for retry. - But in another scenario when header not contains
SomeVariable
, so setting delay of 1200. In this case code enters in error flow and retry is not working.