API 使用JSON 对象进行响应,该对象具有一组对象,例如{"items":[{...},{...},...],...
我们需要处理的数据。问题是该数组有 + 1.000 个对象,并且端点响应缓慢,因此流式传输需要很多秒才能完成,并且使用我们的“阻塞”编程模型使用Apache HttpClient来使用端点并使用Jackson来序列化响应,我们等待获取完整的主体来解析包含数组的所有对象,而不是在每个元素到来时处理它,节省内存使用时间,因为一旦处理了一个元素,我们可以让 GC 来释放使用的内存由元素。
我如何在数据到来时使用Reactor 项目来消耗响应?更改我们正在使用的 HTTP 客户端和/或序列化程序没有问题。此外,我们将 Java 8 与 Spring MVC 与 Spring 4.3 一起使用,但我们可以将项目移至即将发布的 Spring 版本。
注意:端点是第三方 API,是对 HTTP 1.1 服务器的简单 GET,我们无法更改它的工作方式,例如添加分页或类似的东西。