httpClient 4.5版本,默认是开启长连接。
本质上httpCLient的长连接,就是socket + 连接池。对socket的复用。适用场景,在请求比较频繁的时候。
支付服务端支持长连接的情况下,客户端开启长连接才有作用。http 1.1 默认是开始长连接的。
httpClient 4.5 创建httpClient实例,默认创建了连接池的,默认是开启长连接模式的,所以,只创建一个httpClient实例就可以了。
多次创建会加大系统开销。创建一个httpClient实例的时候,要注意 setDefaultMaxPerRoute 参数,默认是 2 。在高并发的情况下,会耗时比较长,影响性能。此参数的作用是设置单台机器对服务器最大长连接数。
setMaxTotal参数,是httpClient的长连接的连接池的大小。默认值使20 。 设置的数值要比 setDefaultMaxPerRoute 大一些,一般情况下是够用的。
httpClient是支持Retry的。需要自己打开retry 参数,设置为true。并且可以自己实现重试的方式的。