如何配置Spring RestClient以支持HTTP/2调用上游服务?
RestClient 启用HTTP/2的配置方案
核心配置步骤
自定义HTTP客户端实例
RestClient底层依赖Java原生HttpClient,因此需要先创建指定HTTP/2版本的HttpClient:HttpClient httpClient = HttpClient.newBuilder() .version(Version.HTTP_2) .build();绑定到RestClient
将上述HttpClient注入到RestClient的请求工厂中,覆盖默认配置:RestClient restClient = RestClient.builder() .requestFactory(new HttpComponentsClientHttpRequestFactory(httpClient)) .build();
关键注意事项
- 确保使用的Spring版本为6.1+(或Spring Boot 3.2+),这是RestClient原生支持HTTP/2的最低版本要求
- 上游服务必须开启HTTP/2支持,否则客户端会自动降级为HTTP/1.1通信
- 若涉及HTTPS请求,JDK 9及以上默认支持ALPN(HTTP/2协商必需的协议),JDK 8需额外安装ALPN扩展包
内容的提问来源于stack exchange,提问作者IcedDante
相关产品推荐
相关产品推荐

