SpringBoot集成HttpClient

本文介绍了SpringBoot中集成HttpClient的主要步骤和关键概念,包括CloseableHttpClient的使用、RequestConfig的配置、PoolingHttpClientConnectionManager的设定以及ConnetionKeepAliveStrategy的定制。通过配置HTTP 1.1的长连接和HttpClient的线程池,可以有效提高请求效率。同时,文章还提及了如何通过HttpClient来定制RestTemplate。
摘要由CSDN通过智能技术生成

##HttpClient几个主要概念

  1. CloseableHttpClient
    用于发送请求,因为是线程安全的,所以只需要在程序中创建一个单例。
  2. RequestConfig
    用于配置每个请求的各项timeout等等
  3. PoolingHttpClientConnectionManager
    用于配置连接池
  4. ConnetionKeepAliveStrategy
    用于创建KeepAlive策略。
  5. HTTP 1.1长连接
    HTTP 1.1默认支持长连接,在header中会带有keep-alive。
    使用HttpClient的线程池,可以利用开启的长连接来减少创建连接的开销。

在整个集成HttpClient的过程中,主要顺序是:
配置KeepAlive策略 -> 配置连接池 -> 配置RequestConfig -> 配置HttpClient

另外也可以通HttpClient来配置自己的RestTemplate

##HttpClient集成
依赖:org.apache.httpcomponents:httpclient:4.5.7

集成配置(Kotlin)

@Configuration
class HttpConfig {

    @Primary
    @Bean
    fun httpClient(requestConfig: RequestConfig, httpClientConnectionManager: HttpClientConnectionManager): CloseableHttpClient {
        return HttpClientBuilder
                .cre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值