У меня очередь с мертвой буквой с неудачными сообщениями с requeue = false. Я программно перемещаю сообщения из мертвой очереди обратно в основную очередь на RabbitOperations.receiveAndConvert(failedQueueName)
и RabbitOperations.convertAndSend(msg)
. Есть ли способ предотвратить бесконечный цикл, не используя временную очередь для хранения сообщений о мертвой очереди, прежде чем переместить его в основную очередь?Как предотвратить бесконечный цикл при перемещении сообщений о мертвой очереди в главную очередь?
2
A
ответ
1
Deal-Leterring в RabbitMQ добавляет x-death
заголовок:
Этот массив содержит запись для каждого мертвого события надписи, идентифицированный парой
{queue, reason}
.
Это один имеет count
поля:
сколько раз это сообщение было мертвым литерным в этой очереди по этой причине
Итак, я уверен, что вы можете добавить filtering
вашему потребителю очереди «Мертвого письма», чтобы отказаться от сообщений, которые уже имеют нежелательные count
.