Как сохранить контекст при обработке ошибок с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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