Когда клиент отключается от моей службы, Я также хочу отключить WebClient от внешней службы. Как я могу этого добиться?
На данный момент я обнаружил, что когда клиент отключается, я получаю исключение IOException сломанного канала, которое я могу перехватить и выполнить обратный вызов, используя flux.doOnError( IOException.class, e -> {, но я не знаю, что добавить в обратный вызов, чтобы отменить текущий запрос.
Что я пробовал
Что я пробовал h3>
Я нашел Руководство GeeksForGeeks по отмене текущего потока из WebClient и его реализации следующим образом:
Код: Выделить всё
Flux flux = webClient.post()
.uri(uri)
.bodyValue(req)
.retrieve()
.bodyToFlux(String.class)
// some filters and maps
;
Disposable disposable = flux.subscribe();
return flux.doOnError(IOException.class, e -> disposable.dispose());
Код: Выделить всё
Flux flux = webClient.post()
.uri(uri)
.bodyValue(req)
.retrieve()
.bodyToFlux(String.class)
// some filters and maps
;
Disposable disposable = flux.subscribe();
disposable.dispose();
log.info("is disposed: {}", disposable.isDisposed());
return flux;
Подробнее здесь: https://stackoverflow.com/questions/793 ... flux-error
Мобильная версия