При реализации очереди недоставленных сообщений (DLQ) возникает ошибка канала - PullRequest
0 голосов
/ 27 апреля 2020

ошибка канала; Метод протокола: #method (reply-code = 406, reply-text = PRECONDITION_FAILED - неэквивалентный аргумент 'x-dead-letter-exchange' для очереди 'ecpauditchannel.ecpqueue' в vhost 'ecp-audit': получено значение 'DLX' типа 'longstr', но текущий - нет, идентификатор класса = 50, идентификатор метода = 10)

Ниже приведены конфигурации, заданные в файле свойств.

spring.rabbitmq.virtual-host=ecp-audit
spring.cloud.stream.bindings.ecpinputchannel.destination=ecpchannel
spring.cloud.stream.bindings.error.destination=ecpError
spring.cloud.stream.rabbit.bindings.ecpauditinputchannel.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.bindings.input.consumer.dlq-ttl=5000

Заранее спасибо

1 Ответ

0 голосов
/ 27 апреля 2020

неэквивалентный arg 'x-dead-letter-exchange' для очереди 'ecpauditchannel.ecpqueue' в vhost 'ecp-Audit': получил значение 'DLX' типа 'longstr', но текущее значение отсутствует, класс- id = 50, method-id = 10)

Вы не можете изменять аргументы очереди после создания очереди.

, но текущий - нет,

В текущей очереди нет аргумента x-dead-letter-exchange.

auto-bind-dlq=true

Заставляет этот аргумент быть установлен.

Вы должны удалить очередь, чтобы установить разные аргументы.

...