2

当我尝试连接到 couchdb 时出现此错误。有人可以告诉我发生这种情况的原因。我是否必须在调用 couchdb 的方法中将 null 分配给 HttpClient 和 GetMethod?

SEVERE: CouchDBQuery error
java.net.SocketException: Too many open files
    at java.net.Socket.createImpl(Socket.java:397)
    at java.net.Socket.<init>(Socket.java:371)
    at java.net.Socket.<init>(Socket.java:249)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
4

1 回答 1

2

异常意味着没有足够的文件句柄来打开您机器上的套接字。如何在 Linux 和 Windows 上检查这个是这里

对于 HTTPClient,建议使用可用的连接管理器之一来确保关闭连接。

有关如何使用HTTPClient 连接管理器的信息,请参阅本指南的第 2.8 节

于 2012-05-02T11:42:53.187 回答