2015-06-17 61 views
3

我使用unirest从API调用方法。但是在我的代码中实现并在服务器日志中查看后,它总是调用关闭过期的连接。服务器使用Unirest登录java

这是我的代码:

public static JSONArray getJsonArray(String url, Map<String, Object> filter){ 
    GetRequest request = null; 
    jArr= null; 
    try { 
     Unirest.setTimeouts(10000, 10000); 
     request = Unirest.get(url).header("accept", "application/json"); 

     if (filter != null){ 
      request.queryString(filter); 
     } 

     jArr = request.asJson().getBody().getArray(); 
    } catch (Exception ex){ 
     logger.debug(ex); 
    }finally{ 
     //Unirest.shutdow(); 
    } 
    return jArr; 
} 

服务器日志:

14:05:25,954 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing expired connections 
14:05:25,954 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing connections idle longer than 30 SECONDS 
14:05:26,529 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing expired connections 
14:05:26,529 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing connections idle longer than 30 SECONDS 
14:05:26,826 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing expired connections 
14:05:26,826 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing connections idle longer than 30 SECONDS 
14:05:26,835 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing expired connections 
14:05:26,835 INFO [STDOUT] [PoolingHttpClientConnectionManager] : Closing connections idle longer than 30 SECONDS 

使用Unirest.shutdown()在我的代码我试过。日志变得正常,但我不能再使用Unirest代码。我发现这是停止。

是调用Unirest.shutdow()后启动或修复日志的方法吗?

+0

您是如何解决这个问题的? –

回答

1

您可以使用com.mashape.unirest.http.options.Options.refresh();来再次启用Unirest,或者只需修改log4j以从DEBUG更改org.apache.http.impl.conn.PoolingHttpClientConnectionManager的日志级别。

<logger name="org.apache.http.impl.conn.PoolingHttpClientConnectionManager"> 
    <level value="WARN"/> 
    <appender-ref ref="MyLogFile"/> 
</logger>