I am new in Camel world. Basically i am looking a way to store camel dead letter message in file/RDBMS system.
<camelContext trace="true" id="mybeanId" xmlns="http://camel.apache.org/schema/spring" autoStartup="true" errorHandlerRef="myErrorHandler">
<errorHandler id="myErrorHandler" type="DeadLetterChannel" deadLetterUri="file:errors" >
<redeliveryPolicy maximumRedeliveries="-1" redeliveryDelay="5000"/>
</errorHandler>
<!-- route details -->
</camelContext>
with the configuration i can see when message received from MQ and it send to route 1 for example and somehow route1 is failed to process.
in that case i can see log: JmsConsumer[Uploader]) [-] [] Failed delivery for (MessageId: ID:on ExchangeId: ). On delivery attempt: 0 caught: cause That means my myErrorHandler is working.
Now when i restarted my JVM i can see this unprocessed message is lost. So looking for way where i can store this message file system or database so when we restarted JVM and consumer is up we will able to process this message.
I am referring : https://camel.apache.org/components/4.0.x/eips/dead-letter-channel.html
UPDATE: Also tried with :
<errorHandler id="myErrorHandler" type="DeadLetterChannel" deadLetterUri="file:C:\Users\Temp?fileName=MyFile.txt" useOriginalBody ="true">
<redeliveryPolicy maximumRedeliveries="-1" redeliveryDelay="5000"/>
</errorHandler>
But no luck.
Thanks in Advance.