Java 如何在spring resttemplate中实现批处理

Java 如何在spring resttemplate中实现批处理,java,spring,spring-boot,Java,Spring,Spring Boot,您好,我一直在搜索这个问题,但无法得到完美的答案。我有以下代码片段 SparkResponse<CommonEvents> response = restTemplate.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<SparkResponse<CommonEvents>>() { }).getBody(); SparkResponse response=rest

您好,我一直在搜索这个问题,但无法得到完美的答案。我有以下代码片段

 SparkResponse<CommonEvents> response = restTemplate.exchange(url, HttpMethod.POST, entity, new ParameterizedTypeReference<SparkResponse<CommonEvents>>() { }).getBody();
SparkResponse response=restemplate.exchange(url,HttpMethod.POST,entity,new parametedtypereference(){}).getBody();
如何在resttemplate中实现批处理

我尝试使用ResponseExtractor,但它对我不起作用


批处理是必要的,因为有时数据量太大,我得到堆内存异常。如果可能的话,请告诉我。

不知道这是否有帮助。但我想,你可以试试看。

您需要使用异步操作来批处理响应。 请注意,Spring5具有反应式web功能,附带了
WebClient
,它可以将响应转换为可以批处理的
Flux
。 示例代码:

WebClient.create(url)
            .method(HttpMethod.POST)
            .body(entity, Object.class)
            .retrieve()
            .bodyToFlux(SparkResponse.class)
            .buffer(20)
然后你可以从那里开始。
希望这有帮助=)

Hi DruidKuma WebFlux需要springboot 2.X.X及以上版本,我不允许更改spring boot版本请告诉我您使用的是什么版本?