disruptor 异常
消费者消费方法异常,没有try catch ,将异常抛出,导致disruptor死锁
修改方式:将消费者异常try catch ,禁止throw 或者 throws
httpclient keep-alive
报错信息:
2019-11-21 14:58:41.793 ERROR 1 --- [XNIO-1 task-12] c.s.z.b.s.payment.PaymentServiceImpl : post carlcare exception: I/O error on POST request for "https://carlcare.zepay.io/m-carlcare/order/create": carlcare.zepay.io:443 failed to respond; nested exception is org.apache.http.NoHttpResponseException: carlcare.zepay.io:443 failed to respond
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://carlcare.zepay.io/m-carlcare/order/create": carlcare.zepay.io:443 failed to respond; nested exception is org.apache.http.NoHttpResponseException: carlcare.zepay.io:443 failed to respond
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:744)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:670)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:445)
at com.shalltry.zepay.biz.service.payment.PaymentServiceImpl.notifyApp(PaymentServiceImpl.java:327)
at com.shalltry.zepay.biz.service.payment.PaymentServiceImpl.processPayment(PaymentServiceImpl.java:244)
at com.shalltry.zepay.biz.controller.PaymentController.cpRaiseTxn(PaymentController.java:104)
at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)
Caused by: org.apache.http.NoHttpResponseException: carlcare.zepay.io:443 failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)
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:157)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
== httpclient使用长连接, keep-alive默认为-1 ,不关闭,导致调用其他接口,对方关闭,使得调用失败,丢单产生;
修改方式:将keep-client 设置为50000L ==