【发布时间】:2021-05-21 12:23:09
【问题描述】:
有可能在订阅时使用一些数据来丰富 Reactor 的序列上下文,如下所示:
Mono.just("Hello")
.flatMap(s -> Mono.deferContextual(ctx -> Mono.just(s + " " + ctx.get(key))))
.contextWrite(ctx -> ctx.put(key, "World"));
但是,这里的 "World" 是一种静态数据,在订阅时就知道了。
我想从初始 Mono 本身解析一个值并将其放入上下文中,以便下游操作员可以通过上下文 API 访问它。
我怎样才能正确地做到这一点?
我正在处理的用例如下:
- 我通过异步 SDK 收到来自 AWS 的 SQS 消息,该消息解析为 Reactor 的 Mono
- 消息中有一个
correlation_id,我想在其中提取并将其放入 Reactors 上下文中,以使其对所有下游操作员可见。
【问题讨论】:
标签: java project-reactor