Обработка исключений с помощью Spring Cloud Stream и RabbitMq

У меня проблема с поиском информации об обработке исключений в Spring Cloud Stream. Я знаю, что есть errorChannel, который должен обрабатывать исключения, но я понятия не имею, как его использовать. Может ли кто-нибудь дать мне образцы? В настоящее время, когда я отправляю событие в мой приемник (@StreamListener(target = Sink.SAMPLE)) и во время обработки будет происходить MessageHandlingException, я получаю только журнал, и нет никакого механизма для уведомления моего источника. Я пробовал использовать @ControllerAdvice in my sink application и перехватить исключение в классическом стиле Spring MVC, но не думаю, что это должно быть так.


person pzeszko    schedule 21.06.2017    source источник


Ответы (1)


Связующее в настоящее время не публикует канал ошибок; мы переделываем это в следующем выпуске, чтобы вы могли использовать исключения в приложении.

В настоящее время вы можете использовать свойства autoBindDlq и republishToDlq для отправки исключений (с информацией об ошибках в заголовках) в очередь недоставленных сообщений; затем вы можете потреблять из этой очереди.

person Gary Russell    schedule 21.06.2017
comment
Это очень старый вопрос / ответ; да; фреймворк теперь поддерживает каналы ошибок; вам следует обратиться к текущей документации и задать новый вопрос, если что-то неясно. - person Gary Russell; 05.10.2020