当我尝试连接到 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)
最佳答案
该异常意味着没有足够的文件句柄来打开计算机上的套接字。如何在 Linux 和 Windows 上检查这一点是 here .
对于 HTTPClient,建议使用可用的连接管理器之一来确保关闭连接。
请参阅本指南第 2.8 节,了解如何使用 HTTPClient connection manager
关于apache - 严重 : CouchDBQuery error. java.net.SocketException:打开的文件太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10412598/