GIE Spaepen:
興味深いことは、webfluxパッケージ内に起こります。しかし、元の私の旅は、次の質問を解決しませんでした。
のは、私は以下のモノ(またはフラックス)を持っているとしましょう:
Mono hello = Mono.empty()
.subscriberContext(ctx -> ctx.put("message", "hello"));
私は、テナントやユーザーデータとのパイプラインを豊かにするwebfilter以内に同様の構文を使用します。そして、コントローラでは、このような構造が使用されます。
Mono world = Mono.subscriberContext()
.map(ctx -> (String)ctx.get("message"));
ハローモノのコンテキストは、世界のモノに満たされています。私は、これはまた、ユニットテストの目的のために、どのように行われるかを把握することを試みました。
最後に、それは謎のまま。私は両方のモノ/フラックスオブジェクトで利用できる通常の方法でこれを実行しようとしましたが、私は、世界のモノにハローコンテキストを利用可能にすることに成功しません。どのようにしてフラックスとMONOSを融合し、上流事業者への道に沿って、コンテキストを渡すことができますか?
サイモン・バーゼル:
WebFluxは、あなたの取るworld
究極の源として原子炉ネッティー内のHTTPリクエストで、モノをし、その上に反応性チェーンを構築します。WebFilter
チェーン構造の一部であるので、彼らは豊かにすることができContext
チェーン全体のを。
IIRC Mono.subscriberContext()
内で使用されるflatMap
主なシーケンスが作るこれ、Context
それは見ることができるように、そのインナーに利用できるContext
のをhello
。