在生产上发现一个异常:Connection reset,详细信息如下:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at com.ev.http.HttpClientUtil.doPost(HttpClientUtil.java:298)
at com.ev.http.HttpClientUtil.invoke(HttpClientUtil.java:236)
at com.ev.http.HttpClientUtil.submit(HttpClientUtil.java:134)
at com.ev.intconnection.service.AbstractEnterpriseBusinessApi.submit(AbstractEnterpriseBusinessApi.java:39)
at com.ev.intconnection.service.impl.QueryChargeOrderInfoServiceImpl.NotificationChargeOrder(QueryChargeOrderInfoServiceImpl.java:213)
at com.ev.intconnection.job.external.ChargeOrderOneHourHandler.execute(ChargeOrderOneHourHandler.java:43)
at com.xxl.job.core.thread.JobThread.run(JobThread.java:152)
这个是因为nginx这边先做了配置的修改,如下:
a.进入: vim /etc/sysctl.conf
b.添加:net.core.somaxconn=2048 该参数默认为128,根据实际场景调大
c. 执行 sysctl -p 命令
d.(可选) 查看 sysctl -a |grep somaxconn
是否解决问题,带观察日志再更新状态