【发布时间】:2011-10-11 08:55:59
【问题描述】:
我正在使用 httpclient 4.1.2。如果我连接到特定主机 XYZ 并保持 客户端程序运行超过 5 到 6 小时,连接到同一个主机 XYZ 开始给:
org.apache.http.conn.ConnectTimeoutException: Connect to XYZ timed out
at
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:377)
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at
org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573)
at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
如果我连接到不同的主机,它会成功。问题消失一次 我重新启动我的客户端程序。通过浏览器连接同一个主机会成功。
服务器是一个 tomcat 6。客户端和服务器都在 JRE 5 上运行。我设置了连接超时 = 20000 和套接字超时 = 60000。我正在使用 DefaultHttpClient 和 SingleClientConnManager。
【问题讨论】:
标签: java rest httpclient connection-timeout