项目读取数据,一直出现 Closing connections idle longer than 30 SECONDS,卡死现象。
我的是在读取oracle数据的时候出现这种错误。
可以参考这篇文章
https://blog.csdn.net/qq_36856975/article/details/78184893
项目获取云之家的数据,写的demo在main方法里面执行没有问题,集成到自己公司的项目中,使用的是SSM框架,每当去获取数据的时候控制台一直跳:
14:05:25,954 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing expired connections 14:05:25,954 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing connections idle longer than 30 SECONDS
虽然对于我获取数据没影响,但是保不准后期不会存在其他风险,还是尝试关闭好。并且一直反复的弹送看着烦。
获取云之家数据的请求代码(部分,需要全部的自己去找):
//获取个人信息 保密的为公司对应的key文件密钥
HttpResponse<JsonNode> jsonResponsePerson = Unirest .post(person_getall_url) .header("Content-Type", "application/x-www-form-urlencoded") .field("eid", "保密") .field("nonce", UUID.randomUUID().toString()) .field("data",EncryptUtils.encryptWithEncodeBase64UTF8(jsonData.toString(), key)).asJson();
关闭方法:
1. Unirest.shutdown() ;
如果使用这种我发现,它真的就停止了,也就是说我不重启tomcat,再次去访问的时候它取不到数据,那肯定不符合我的要求
2. 在 log4j.xml 里面配置如下一段代码。(上面的英文是解释)
You may use com.mashape.unirest.http.options.Options.refresh(); to enable Unirest again or just modify log4j to change the log level of org.apache.http.impl.conn.PoolingHttpClientConnectionManager from DEBUG.
<logger name="org.apache.http.impl.conn.PoolingHttpClientConnectionManager"> <level value="WARN"/> <appender-ref ref="MyLogFile"/> </logger>