com.sun.net.httpserver.HttpServer max Verbindung zählen?
-
10-07-2019 - |
Frage
Manchmal (ziemlich selten), wenn ich zu einer laufenden Instanz eines com.sun.net.httpserver.HttpServer verbinden bekomme ich eine „Verbindung abgelehnt“ -Meldung zurück.
Jeder weiß, woran das liegen könnte? Gibt es einen Thread Begrenzung für die Anzahl der Verbindungen kann damit umgehen? Kann ich es erhöhen? Vielen Dank. -r
Lösung
Von die doc :
Wenn an eine Adresse Bindung und Port Nummer kann die Anwendung auch Geben Sie einen ganzzahligen Backlog-Parameter. Dies stellt die maximale Anzahl der eingehende TCP-Verbindungen, die die System intern Warteschlange. Verbindungen in die Warteschlange gestellt, während sie sind wartet darauf, von der angenommen zu werden Httpserver. Wenn das Limit erreicht ist, weitere Verbindungen können abgelehnt werden durch die (oder möglicherweise ignoriert) zugrunde liegende TCP-Implementierung. Rahmen der richtige Rückstand Wert ein Kompromiss zwischen effizienten Ressourcen Verwendung in der TCP-Schicht (Einstellung nicht zu hoch) und ermöglicht eine angemessene Durchsatz von eingehenden Anfragen (nicht Setzen sie zu niedrig).
Sie dies sehen werden können.
Alternativ , haben Sie setzen einen Testamentsvollstrecker mit setExecutor () . Der Default-Executor haben weniger Threads konfiguriert, als Sie brauchen, und ein entsprechend konfiguriertes ThreadPoolExecutor arbeiten kann.