Spring WebClient с @Scheduled - не выдает ошибку при потере соединения - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть метод:

@Scheduled(fixedDelay = 5000)
public void perform() {
    try {
        User[] usersArray = webClient.get().uri("https://jsonplaceholder.typicode.com/users")
            .retrieve()
            .onStatus(HttpStatus::isError, response - > {
                System.out.println("Error");
                return Mono.error(new RuntimeException("Error"));
            })
            .bodyToMono(User[].class).block();

        System.out.println(usersArray.length);
    } catch (Exception ex) {
        System.out.println("connection problems");
    }
}

Когда я запускаю приложение без подключения к Интернету, оно печатает «проблемы с подключением», когда я включаю Интернет, оно печатает users.length, как я хотел.Но когда я снова выключаю Интернет, у меня нет сообщения.

Почему это происходит и как это можно решить (чтобы снова напечатать «проблемы с соединением») Также есть какой-нибудь более красивый способ обнаружить проблемы с соединениемвместо того, чтобы попробовать-поймать?Спасибо

...