Я использую библиотеку amqp для php в качестве клиента rabbitmq, и мы хотим отклонить сообщение из очереди с именем «test»
Чтобы не потерять это сообщение, мы определили очередь deadletter под названием «test.deadletter»".
Если мы напрямую добавим сообщение в очередь" test "(через веб-интерфейс) и отклоним его с помощью метода basic.reject из клиента amqplib, сообщение будет правильно перемещено в очередь deadletter.
Но если мы используем некоторый обмен (с ключом маршрутизации), чтобы получить сообщение в тестовую очередь, а затем пытаемся отклонить это, сообщение просто теряется.Его больше нет в очереди тестов, но также нет в очереди test.deadletter.
Сообщения одинаковы, и два необходимых параметра для метода basic.reject были в обеих попытках одинаковыми.Нет никакой разницы, только тот факт, что сообщение пришло один раз от обмена, а другое от какой-то прямой вставки.
Является ли это ошибкой или ожидаемым поведением?Чего мне не хватает?
С наилучшими пожеланиями