У меня есть метод @StreamListener, где он будет выполнять вызов REST. Когда вызов REST возвращает исключение, метод @StreamListener сгенерирует исключение RunTimeException и выполнит повторную попытку. Метод @StreamListener будет повторять неограниченное количество раз при возникновении исключения RuntimeException
Конфигурация Spring Cloud Stream Retry:
spring.cloud.stream.kafka.bindings.inputChannel.consumer.enableDlq=true
spring.cloud.stream.bindings.inputChannel.consumer.maxAttempts=3
spring.cloud.stream.bindings.inputChannel.consumer.concurrency=3
spring.cloud.stream.bindings.inputChannel.consumer.backOffInitialInterval=300000
spring.cloud.stream.bindings.inputChannel.consumer.backOffMaxInterval=600000
Версия зависимостей микросервиса SpringBoot:
Spring Boot 2.0.3
Spring Cloud Stream Elmhurst.RELEASE
Kafka broker 1.1.0