项目使用httpclient4.3.3,突然有天发现推送线程池排队,通过jstack 定位到httpclient进行ssl连接时发生阻塞。httpclient 的SocketTimeout 和 ConnectTimeout都有设置。
后分析查找,确认是httpclient4.3.3的bug,
见 https://issues.apache.org/jira/browse/HTTPCLIENT-1478
大概原因是由于ssl握手失败,导致设置的超时时间无效。进而引发现场阻塞,导致线程池线程被占满
本文出自 “蛰伏” 博客,请务必保留此出处http://lihao001.blog.51cto.com/872112/1788490