У меня есть сценарий использования, когда сообщения должны быть обработаны с определенной задержкой, а также требуется ввести экспоненциальный откат между повторными попытками, упомянутое в документации приложение ReRouteDlqApplication точно соответствует моей цели.
https://cloud.spring.io/spring-cloud-static/Finchley.SR1/multi/multi__rabbitmq_binder.html
Единственная дополнительная информация, которая мне нужна, это возможность настроить delayedExchange также через application.properties и связать его с исходными очередями вместо того, чтобы делать то же самое через Beans, чтобы не было необходимости дублировать логикучерез несколько обработчиков ошибок (т. е. один обработчик ошибок на один DLQ)
Plz, дайте мне знать, если потребуется дополнительная информация.
Редактировать:
Согласно комментариямполучил, я удалил все обмены и очереди и затем попытался заново локально, но все еще сталкиваюсь с ошибкой ниже Ошибка: "получено" x-delayed-message ", но текущая тема" тема ""
Файл моих свойств:
spring.cloud.stream.bindings.packagingConsumerChannel.destination=fabric-exchange
spring.cloud.stream.bindings.packagingConsumerChannel.group=package-queue
spring.cloud.stream.bindings.packagingConsumerChannel.consumer.max-attempts=1
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.durableSubscription=true
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.bindingRoutingKey=package
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.autoBindDlq=true
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.dlqDeadLetterExchange=
spring.cloud.stream.rabbit.bindings.packagingConsumerChannel.consumer.delayedExchange=true