From f6e49d7d94cf2a28c1aa244d5d80abd83e812af9 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Fri, 24 Jun 2022 17:30:33 -0300 Subject: [PATCH] TCP connections was not being closed in some situations Issue: 96860 --- .../com/genexus/internet/HttpClientJavaLib.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java index 4f60ad195..29ccacdc5 100644 --- a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java +++ b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java @@ -69,8 +69,11 @@ private static void getPoolInstance() { .register("http", PlainConnectionSocketFactory.INSTANCE).register("https", getSSLSecureInstance()) .build(); connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); - connManager.setMaxTotal((int) CommonUtil.val(clientCfg.getProperty("Client","HTTPCLIENT_MAX_SIZE","1000"))); - connManager.setDefaultMaxPerRoute((int) CommonUtil.val(clientCfg.getProperty("Client","HTTPCLIENT_MAX_PER_ROUTE","1000"))); + connManager.setMaxTotal((int) CommonUtil.val(clientCfg.getProperty("Client", "HTTPCLIENT_MAX_SIZE", "1000"))); + connManager.setDefaultMaxPerRoute((int) CommonUtil.val(clientCfg.getProperty("Client", "HTTPCLIENT_MAX_PER_ROUTE", "1000"))); + } + else { + connManager.closeExpiredConnections(); } } @@ -277,7 +280,13 @@ private void SetCookieAtr(CookieStore cookiesToSend) { for (Header header : headers) { String[] cookieParts = header.getValue().split(";"); String[] cookieKeyAndValue = cookieParts[0].split("="); - webcontextCookieHeader += cookieKeyAndValue[0] + "=" + cookieKeyAndValue[1] + "; "; + webcontextCookieHeader += cookieKeyAndValue[0]; + if (cookieKeyAndValue.length > 1) { + webcontextCookieHeader += "=" + cookieKeyAndValue[1] + "; "; + } + else { + webcontextCookieHeader += "; "; + } } webcontextCookieHeader = webcontextCookieHeader.trim().substring(0,webcontextCookieHeader.length()-2); // Se quita el espacio y la coma al final webcontext.setCookie(SET_COOKIE,webcontextCookieHeader,"",CommonUtil.nullDate(),"",this.getSecure());