Предположим, у нас есть следующий код:
T someObject = ...;
return step1(someObject)
.flatMap(this::step2)
.flatMap(this::step3)
.flatMap(this::step4)
.flatMap(this::step5)
.timeout(timeout)
.retryBackoff(numberOfRetries, Duration.ofMillis(100));
Каждый из этих методов шага возвращает новый Mono
В настоящий момент с этой реализацией, если на шаге 3 возникает исключение,шаг 4 или шаг 5, весь процесс повторяется, начиная с шага 2.Я хотел бы иметь возможность перезапустить поток, с которого произошло исключение, например, если исключение произошло на шаге 4, поток повторяется только с шага 4 (конечно, повторный ввод является успешным ответом с шага 3).
Возможно ли реализовать каким-либо образом в текущей версии ??
Версия Reactor Core
3.2.2.RELEASE
Версия JVM (например, java -version
)
1,8