Программисты JAVA общаются здесь
Anonymous
Контекст Spring Webflux Reactor
Сообщение
Anonymous » 24 мар 2024, 06:21
В следующем примере test2 должен иметь доступ к значениям контекста из test и test1, но похоже, что этого не происходит. >
Любая информация приветствуется.
Ссылки:
http:/ /projectreactor.io/docs/core/release/reference/#context
https://github.com/spring-projects/spring -framework/issues/20239 (ранее SPR-15680)
https://simonbasle.github.io/2018/02/contextual- logging-with-reactor-context-and-mdc/.
import reactor.core.publisher.Mono;
public class Test {
public static void main(final String[] args) {
System.out.println(Thread.currentThread().getName()
+ " main "
+ test());
}
public static String test() {
final String key = "message";
return test1().subscriberContext(ctx -> ctx.put(key, "test")).block();
}
public static Mono test1() {
final String key = "message1";
return test2().subscriberContext(ctx -> ctx.put(key, "test1 "));
}
public static Mono test2() {
return Mono.just("test2").map(item -> {
Mono.subscriberContext().map(context -> {
System.err.println(Thread.currentThread().getName()
+ " test2 "
+ context);
return context;
});
return item;
});
}}
Вывод:
main main test2
Подробнее здесь:
https://stackoverflow.com/questions/495 ... or-context
1711250514
Anonymous
В следующем примере test2 должен иметь доступ к значениям контекста из test и test1, но похоже, что этого не происходит. > Любая информация приветствуется. Ссылки: [list] [*]http:/ /projectreactor.io/docs/core/release/reference/#context [*]https://github.com/spring-projects/spring -framework/issues/20239 (ранее SPR-15680) [*]https://simonbasle.github.io/2018/02/contextual- logging-with-reactor-context-and-mdc/. import reactor.core.publisher.Mono; public class Test { public static void main(final String[] args) { System.out.println(Thread.currentThread().getName() + " main " + test()); } public static String test() { final String key = "message"; return test1().subscriberContext(ctx -> ctx.put(key, "test")).block(); } public static Mono test1() { final String key = "message1"; return test2().subscriberContext(ctx -> ctx.put(key, "test1 ")); } public static Mono test2() { return Mono.just("test2").map(item -> { Mono.subscriberContext().map(context -> { System.err.println(Thread.currentThread().getName() + " test2 " + context); return context; }); return item; }); }} [/list] Вывод: main main test2 Подробнее здесь: [url]https://stackoverflow.com/questions/49578877/spring-webflux-reactor-context[/url]