APIは、処理する必要があるデータのようなオブジェクトの配列を持つ JSON オブジェクトで応答します。{"items":[{...},{...},...],...
問題は、配列に + 1.000 個のオブジェクトがあり、エンドポイントの応答が遅いため、ストリーミングが完了するまでに数秒かかることです。また、Apache HttpClientを使用してエンドポイントを消費し、Jacksonを使用して応答をシリアル化する「ブロッキング」プログラミング モデルを使用しています。 、配列を含むすべてのオブジェクトを解析するために完全なボディを取得するのを待ちます。要素が処理されたら、使用されているメモリを解放するために GC に任せることができるため、メモリ使用量を節約できます。要素によって。
データが来ている間にReactor プロジェクトで応答を使用するにはどうすればよいですか? 使用している HTTP クライアントやシリアライザーを変更しても問題ありません。また、Spring 4.3 の Spring MVC で Java 8 を使用していますが、プロジェクトを Spring の今後のリリースに移行できます。
注: エンドポイントはサード パーティの API であり、HTTP 1.1 サーバーへの単純な GET です。ページネーションの追加など、その動作方法を変更することはできません。