Как сохранить контекст при обработке ошибок с помощью onErrorResume()?JAVA

Программисты JAVA общаются здесь
Anonymous
Как сохранить контекст при обработке ошибок с помощью onErrorResume()?

Сообщение Anonymous »


В нынешнем виде этот тест пройден:

import org.junit.jupiter.api.Test; импортировать реактор.core.publisher.Mono; импортировать реактор.test.StepVerifier; импортировать реактор.util.context.Context; общественный класс ReactorContextTest { @Тест недействительный тест () { Строковый ключ = "какой-то ключ"; Строковое значение = "некоторое значение"; Mono mono = Mono.just(значение) .flatMap(v -> Mono.empty().contextWrite(Context.of(key, v))) // .onErrorResume(Exception.class, t -> { // System.out.println("Сработала onErrorResume()..."); // возвращаем Mono.empty(); // }) ; StepVerifier.create(моно) .expectAccessibleContext() .contains(ключ, значение) .затем() .verifyComplete(); } } но как только вы раскомментируете эти несколько строк кода и запустите его еще раз, вы заметите две вещи:
[*]
Журнал никогда не печатается
[*]
Тест не пройден

java.lang.AssertionError: Ожидаемое значение - некоторое значение для ключа - некоторый ключ, ключ отсутствует Контекст: Context0{} Снято: onErrorResume. Вот виновник:

// Моно public Final Mono onErrorResume(Function

Вернуться в «JAVA»