为了账号安全,请及时绑定邮箱和手机立即绑定

Spring WebFlux WebClient timeout() 和 exchange()

Spring WebFlux WebClient timeout() 和 exchange()

慕标5832272 2021-08-04 10:11:16
我有类似于以下示例的代码:Mono<ResponseEntity<String>> result = webClient     .post()     .body(Mono.just(command), MyCommand.class)     .exchange()     .timeout(calculateTimeout(command))     .flatMap(clientResponse -> clientResponse.toEntity(String.class));在春天的文档说:使用 exchange() 时,您必须始终使用 ClientResponse 的任何 body 或 toEntity 方法,以确保释放资源并避免 HTTP 连接池的潜在问题。如果不需要响应内容,您可以使用 bodyToMono(Void.class)。但是请记住,如果响应确实包含内容,则连接将关闭并且不会放回池中。问题:如果上面的代码中的 timeout(...) 触发了 TimeoutException,我是否必须明确地做一些事情来确保所有资源都被正确释放,或者上面的代码是否足够?我想避免在这里发生内存泄漏。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 327 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信