С помощью Spring и RabbitMQ я создал два обмена темами x
и dlx
и две очереди q
и dlq
. q
привязан к x
, а dlq
к dlx
. dlx
настроен как обмен недоставленными сообщениями для q
.
Когда сообщение в q
отклоняется (с удалением из очереди), оно успешно отправляется на dlx
, а затем на dlq
.
Теперь я использую плагин лопатки, чтобы переместить сообщения с мертвыми буквами в dlq
обратно в q
. Это работает успешно, если на этот раз сообщения обрабатываются успешно (подтверждение).
Но если одно из этих перелопатленных сообщений inq
снова отклоняется, оно отбрасывается без уведомления. Я ожидаю, что его снова отправят в DLX dlx
. Я что-то неправильно настроил или неправильно понял концепцию DLX или лопат?