*Gearchiveerd* = Webserververbindingen beheren = Probleem: Ik heb een JavaFx-toepassing die via http een db aanvraagt. Ik kom af en toe problemen tegen waarbij alle beschikbare verbindingen met de webserver (191) worden opgebruikt, waardoor een crash ontstaat Ik probeer erachter te komen waarom dit gebeurt, aangezien het erop lijkt dat de daadwerkelijke verbindingen veel lager zouden moeten zijn. Er zijn maximaal 40 exemplaren van de toepassing tegelijk actief Hier is een typische gebruiksmethode (Kotlin): fun myHTTPFunction(gebruiker: String, phone: String, customCID: Boolean, cID: String) { val httpClient = HttpClients.createDefault() val response: CloseableHttpResponse try { val useCID = when(customCID) { true ->"&groepsalias=$cID"else ->""} val httpPost = HttpPost(PHP ADDRESS) respons = httpClient.execute(httpPost) EntityUtils.consume(response.entity) probeer {response.closecatch (e: Exception) {exception.showStackTrace(e )} probeer {httpClient.closecatch (e: Exception) {exception.showStackTrace(e)} } catch(e: Exception) { exception.showStackTrace(e) } } Opmerking: Oorspronkelijk werd slechts één exemplaar van HttpClients gemaakt en opnieuw gebruikt voor methodeaanroepen. Bij het controleren van verbindingen op de webserver resulteert deze methode echter in ongeveer 30% meer verbindingen per actieve client. (Tot 20 ondanks slechts een enkele 'createDefault-methodeaanroep.) Het gebruik van een methode zoals de bijgevoegde code resulteert in 1-4 verbindingen per client, maar dit kan nog steeds problemen veroorzaken, vooral wanneer er meer dan 20 clients tegelijk worden geactiveerd. De meeste verbindingen worden na een paar seconden vanzelf beëindigd, maar als de 191-verbindingslimiet wordt bereikt, worden verbindingen niet meer gesloten en crasht de server Naar mijn mening is het aanbevolen gebruik van apache httpclient het gebruik van een enkele clientinstantie, maar dit lijkt niet te resulteren in een enkele verbinding met de server. Gedachten of iets dat ik (waarschijnlijk) heb gemist? Nog geen reacties Deel als eerste wat je denkt! == Over de gemeenschap == Leden Online