как ваше первоначальное значение вместо.

ользуюWebClient и обычайBodyExtractorкласс для моего приложения весенней загрузки

WebClient webLCient = WebClient.create();
webClient.get()
   .uri(url, params)
   .accept(MediaType.APPLICATION.XML)
   .exchange()
   .flatMap(response -> {
     return response.body(new BodyExtractor());
   })

BodyExtractor.java

@Override
public Mono<T> extract(ClientHttpResponse response, BodyExtractor.Context context) {
  Flux<DataBuffer> body = response.getBody();
  body.map(dataBuffer -> {
    try {
      JaxBContext jc = JaxBContext.newInstance(SomeClass.class);
      Unmarshaller unmarshaller = jc.createUnmarshaller();

      return (T) unmarshaller.unmarshal(dataBuffer.asInputStream())
    } catch(Exception e){
       return null;
    }
  }).next();
}

Вышеупомянутый код работает с небольшой полезной нагрузкой, но не с большой полезной нагрузкой, я думаю, это потому, что я читаю только одно значение потока сnext и я не уверен, как объединить и прочитать всеdataBuffer.

Я новичок в реакторе, поэтому я не знаю много трюков с флюсом / моно.

Ответы на вопрос(3)

Ваш ответ на вопрос