Hi,
If you enable DLQ to non-persistent message (it's disabled by default),
then, IMHO, any message stored in DLQ should survive to broker restart
(else it's not really a DLQ).
Again, as non-persistent messages are not supposed to go in DLQ. To send
the non-persistent messages to DLQ, you have to use for instance:
<sharedDeadLetterStrategy processNonPersistent="true" />
In that case, it makes sense to "store" the message persistently in the DLQ.
Regards
JB
On 30/01/2020 17:35, Martin Lichtin wrote:
> Can somone help me understand why a non-persistent message is
> "converted" into a persistent message on entering DLQ?
> It happens in RegionBroker, around line 733:
>
> if (!message.isPersistent()) {
> message.setPersistent(true);
> message.setProperty("originalDeliveryMode", "NON_PERSISTENT");
> }
>
> I'm puzzled as to why this would make sense.
>
> A non-persistent message, even if configured to use DLQ, should stay
> non-persistent, i.e. not survive broker restarts.
>
> - Martin
>
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com