From 66d58028b3df48dcaa2110aff5f877767dcd7cf1 Mon Sep 17 00:00:00 2001 From: Dominik Steinmann <751134+DSteinmann@users.noreply.github.com> Date: Sat, 17 May 2025 01:20:54 +0200 Subject: [PATCH] added http connection pooling --- .../ics/interactions/wot/td/clients/TDHttpRequest.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/ch/unisg/ics/interactions/wot/td/clients/TDHttpRequest.java b/src/main/java/ch/unisg/ics/interactions/wot/td/clients/TDHttpRequest.java index 3119dc85..76ae71ea 100644 --- a/src/main/java/ch/unisg/ics/interactions/wot/td/clients/TDHttpRequest.java +++ b/src/main/java/ch/unisg/ics/interactions/wot/td/clients/TDHttpRequest.java @@ -9,8 +9,12 @@ import com.google.gson.Gson; import org.apache.commons.io.IOUtils; import org.apache.hc.client5.http.classic.HttpClient; +import org.apache.hc.client5.http.impl.DefaultConnectionKeepAliveStrategy; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; import org.apache.hc.core5.http.*; +import org.apache.hc.core5.http.impl.DefaultConnectionReuseStrategy; import org.apache.hc.core5.http.io.entity.EntityUtils; import org.apache.hc.core5.http.io.entity.StringEntity; import org.apache.hc.core5.http.message.BasicClassicHttpRequest; @@ -68,7 +72,11 @@ public String getTarget() { } public TDHttpResponse execute() throws IOException { - HttpClient client = HttpClients.createDefault(); + CloseableHttpClient client = HttpClients.custom() + .setConnectionManager(new PoolingHttpClientConnectionManager()) + .setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE) + .setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE) + .build(); HttpResponse response = client.execute(request); return new TDHttpResponse((ClassicHttpResponse) response); }