Обработка ошибок Project Reactor в рабочем процессе конвейера - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь использовать реактивный рабочий процесс для обработки некоторых сообщений из RabbitMQ, при этом сообщения проходят конвейер, состоящий из следующих шагов:

messageStream
    .flatMap(this::processStageOne)
    .flatMap(this::processStageTwo)
    .flatMap(this::processStageThree)
    .subscribe()

Каков правильный способ обработки ошибок из какой-либо из этапов обработки, позволяя потоку продолжаться, если какой-либо из них каким-то образом не работает? Что-то вроде:

messageStream
   .flatMap(this::processStageOne)
   .onError(this::failStageOne) // ??? What is the proper call here? 
   .flatMap(this::processStageTwo)
   .onError(this::failStageTwo) // ???
   .subscribe()
...