У меня проблема с поиском информации об обработке исключений в Spring Cloud Stream. Я знаю, что есть errorChannel
, который должен обрабатывать исключения, но я понятия не имею, как его использовать. Может ли кто-нибудь дать мне образцы? В настоящее время, когда я отправляю событие в мой приемник (@StreamListener(target = Sink.SAMPLE)
) и во время обработки будет происходить MessageHandlingException
, я получаю только журнал, и нет никакого механизма для уведомления моего источника. Я пробовал использовать @ControllerAdvice in my sink application
и перехватить исключение в классическом стиле Spring MVC, но не думаю, что это должно быть так.
Обработка исключений с помощью Spring Cloud Stream и RabbitMq
Ответы (1)
Связующее в настоящее время не публикует канал ошибок; мы переделываем это в следующем выпуске, чтобы вы могли использовать исключения в приложении.
В настоящее время вы можете использовать свойства autoBindDlq
и republishToDlq
для отправки исключений (с информацией об ошибках в заголовках) в очередь недоставленных сообщений; затем вы можете потреблять из этой очереди.
person
Gary Russell
schedule
21.06.2017
Это очень старый вопрос / ответ; да; фреймворк теперь поддерживает каналы ошибок; вам следует обратиться к текущей документации и задать новый вопрос, если что-то неясно.
- person Gary Russell; 05.10.2020