一、现象截图

一大早收到ELK的邮件提醒,让我来看看,又是哪个妖怪在作孽?
【异常】原来提示SocketTimeoutException:connect timed out还可能是外部因素导致

二、问题定位

2.1 SocketTimeoutException:connect timed out

经验告诉我,这个问题一般是第三方平台的问题,大部分原因是发起Http请求,但是请求超时导致,很多HTTP framework(如本文中涉及的Hutool工具中的HttpUtil,底层是HttpURLConnection)本身有超时机制的,实现超时,就是在应用层代码里启动一个Timer,如果Timer超时,则手动取消请求。比如用户现在网络环境较差,当客户端发起一个请求时,通信层开始请求与服务器建立连接(包括在重试),如果在5S之内还没有连接到服务器,那么就会判定为超时。Http请求超时一般与我们的代码无关。

2.2 ICardServiceImpl的代码第122行出错了

啊?ICardServiceImpl是对接第三方平台,用于积分充值的功能,是组内大神写的代码,按理是不会出问题,而且已经上线了快1年了都,最近又没有变更,所以,第一直觉,故障的原因是因为外部变更导致的。

122行,那不就是这段代码吗&#x

发表回复