我有一個關于 Spring Webflux 的問題。我想創建一個使用內容類型文本/事件流的反應式端點。不是生產而是消費。我們的一項服務需要向另一個服務發送大量小對象,我們認為以這種方式流式傳輸可能是一個很好的解決方案。@PostMapping(value = "/consumeStream", consumes = MediaType.TEXT_EVENT_STREAM_VALUE)public Mono<Void> serve(@RequestBody Flux<String> data) { return data.doOnNext(s -> System.out.println("MessageReceived")).then();}我正在嘗試使用 Spring WebClient 建立與端點的連接并將數據流式傳輸到它。例如使用代碼:WebClient.builder().baseUrl("http://localhost:8080") .clientConnector(new ReactorClientHttpConnector()) .build() .post() .uri("/test/serve") .contentType(MediaType.TEXT_EVENT_STREAM) .body(BodyInserters.fromPublisher(flux, String.class)) .exchange() .block();通量是每 1 秒產生一個值的流。我遇到的問題是 WebClient 完全讀取發布者,然后將數據作為一個整體發送,而不是一個一個地流式傳輸。我可以使用此客戶端或其他任何方法來執行此操作嗎?我不想采用 websockets 的方式。
添加回答
舉報
0/150
提交
取消