2017-01-16 5 views
0

В моем приложении, используя две очереди, которые привязаны к одному обмену с ключом a. . Любое сообщение, идущее с совпадением с этим ключевым регулярным выражением, перейдет в обе очереди.Spring amqp обмен мертвой буквой с несколькими связями в очереди

Случай 2: Я пытаюсь реализовать сообщение о задержке и максимальное количество попыток в случае исключения для бизнеса потребителя с использованием механизма обмена мертвой буквой.

Проблемный случай предположим, что одно из бизнес-исключений для потребителя очереди ... Оно будет идти dlx, а затем к основному исключению ..... Затем из основного исключения .... Сообщение отправляется как в очереди. Это проблема, с которой я сталкиваюсь ..... Я хочу, чтобы сообщение повторной попытки отправилось в эту очередь только с того места, где произошло исключение потребителя.

Теперь в моих случаях повторное сообщение отправляется во все очереди и создает повторяющиеся сообщения.

ответ

0

Вы можете добавить вторую привязку к очереди для каждой очереди; затем настроить каждый DLQ с этим конкретным ключом маршрутизации ...

x-dead-letter-exchange=mainExchange x-dead-letter-routing-key=retryMainQ1

Конечно, вам нужно 2 DLQs.

Смежные вопросы