別のフラックス/モノからコンテキストを渡します

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=180556&siteId=1
おすすめ