apache.http / SocketException: Too many open files

xrax

Erfahrenes Mitglied
Hallo zusammen,

arbeite mit org.apache.http.


Beim wieherholter Ausführung des nachfolgenden Codes erhalte ich nach kurzer Zeit folgenede Fehlermeldung:

java.net.SocketException: Too many open files.

Ich schätze das ich noch irgenwas schliessen muss, aber was und wie?

Code:
	public String sendCall(String url,String host,String authname,String authpw) throws Exception{

			DefaultHttpClient dhc=new DefaultHttpClient();
			dhc.getCredentialsProvider().setCredentials(
					new AuthScope(host, AuthScope.ANY_PORT), 
			            new UsernamePasswordCredentials(authname, authpw));
			HttpClient httpclient = dhc;
			HttpPost httppost = new HttpPost(url);
			HttpResponse response = httpclient.execute(httppost);
			HttpEntity resEntity = response.getEntity();
			BufferedReader in = new BufferedReader(new InputStreamReader(resEntity.getContent()));			
			StringBuffer stBuf=new StringBuffer();
			String line;
			while ((line = in.readLine()) != null) {
				stBuf.append(line);
			}	
			try{in.close();}finally{in.close();}
			
		String resString=stBuf.toString();
		if(resString!=null && !resString.equals("")){return resString;}
		return "FAILURE";
 
Zuletzt bearbeitet:
Vielleicht ist die Anzahl maximaler Verbindungen deines Betriebssystems begrenzt? Unter Windows gibts das auf jeden Fall, unter Linux nicht zwangsläufig.
 
Läuft auf nem Linux und ich hab > 1000 Connections/min. Weist du wie man schauen kann was im System eingestellt ist?
 
Besten Dank !

Hab aber mit cat /proc/sys/fs/file-max
eine result von 1591913, was ja wohl reichen sollte.

Ich hab auch nicht x-Files offen. Nur x-Connections.
 
Zurück