Обработка сброса соединения одноранговым NativeIoException - PullRequest
0 голосов
/ 05 марта 2020

Я получаю NativeIoException: сброс соединения по пиру . Я хочу обработать это исключение и повторить попытку. Обработка с NativeIoException кажется неправильным способом, поскольку это только для внутреннего использования. Есть ли какой-нибудь лучший способ справиться с этим?

В настоящее время я обрабатываю исключение следующим образом:

.retryWhen(
       throwableFlux ->
                throwableFlux
                    .zipWith(
                        Flux.range(1, 3),
                        (error, index) -> {
                          if (error instanceof NativeIoException && index < 3) {
                            return index;
                          } else {
                            //error
                          }
                        })
                    .flatMap(
                        index -> {

                          return Mono.delay(
                              Duration.ofSeconds(index));
                        })

Есть ли какой-то лучший способ его обработки?

...