Spring Boot 3迁移:HttpClient.tcpConfiguration废弃后的代码改写
Spring Boot 3 替代废弃的 HttpClient.tcpConfiguration 代码改写
直接替换为以下代码:
HttpClient httpcl = HttpClient.create() .tcpClient(client -> client .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connectionTimeOut) .doOnConnected(conn -> conn .addHandlerLast(new ReadTimeoutHandler(readTimeOut)) .addHandlerLast(new WriteTimeoutHandler(writeTimeOut)))) .wiretap(enableWireTap) .compress(true);
关键改动说明:
- 废弃的
tcpConfiguration方法直接替换为tcpClient方法,两者作用一致,都是配置底层TCP客户端参数 - 原有的
ChannelOption.CONNECT_TIMEOUT_MILLIS配置、doOnConnected添加超时处理器的逻辑完全保留,无需修改 wiretap和compress方法的调用方式不变,可继续沿用
如果想使用更贴合Spring Boot 3风格的简洁写法,也可以把连接超时改用tcpClient提供的connectTimeout方法:
HttpClient httpcl = HttpClient.create() .tcpClient(client -> client .connectTimeout(Duration.ofMillis(connectionTimeOut)) .doOnConnected(conn -> conn .addHandlerLast(new ReadTimeoutHandler(readTimeOut)) .addHandlerLast(new WriteTimeoutHandler(writeTimeOut)))) .wiretap(enableWireTap) .compress(true);
内容的提问来源于stack exchange,提问作者obela06
相关产品推荐
相关产品推荐

