You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2023/03/17 11:40:24 UTC

[camel] 06/19: CAMEL-18995: camel-jetty - Upgrade to HttpComponents 5.x

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-18995/upgrade-httpcomponents-5
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c939125e52d7a076ed2d15b0dc3e772e55c57eff
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Fri Mar 17 12:25:20 2023 +0100

    CAMEL-18995: camel-jetty - Upgrade to HttpComponents 5.x
---
 components/camel-jetty/pom.xml                     | 12 +---
 .../camel/component/jetty/CustomFiltersTest.java   | 32 +++++----
 .../camel/component/jetty/EnableCORSTest.java      | 37 +++++------
 .../camel/component/jetty/HttpBasicAuthTest.java   |  6 +-
 .../jetty/HttpBridgeMultipartRouteTest.java        | 30 ++++-----
 .../component/jetty/HttpGZipEncodingTest.java      |  6 +-
 .../camel/component/jetty/HttpHeaderCaseTest.java  | 23 +++----
 .../component/jetty/HttpMethodRestrictTest.java    | 34 +++++-----
 .../component/jetty/HttpProducerSOTimeoutTest.java |  4 +-
 .../camel/component/jetty/HttpRouteTest.java       | 76 ++++++++++------------
 .../jetty/JettyComponentMuteExceptionTest.java     | 23 ++++---
 .../jetty/JettyEndpointSetHttpTraceTest.java       | 25 +++----
 .../component/jetty/JettyHttpContentTypeTest.java  | 10 +--
 .../component/jetty/JettyMuteExceptionTest.java    | 24 ++++---
 .../jetty/JettySwitchingStatusCode204Test.java     | 50 +++++++-------
 .../camel/component/jetty/MultiPartFormTest.java   | 24 +++----
 .../jetty/MultiPartFormWithCustomFilterTest.java   | 37 ++++++-----
 .../component/jetty/MultiThreadedHttpGetTest.java  |  8 ++-
 .../component/jetty/SpringHttpsRouteTest.java      |  2 +-
 19 files changed, 221 insertions(+), 242 deletions(-)

diff --git a/components/camel-jetty/pom.xml b/components/camel-jetty/pom.xml
index 5c15c205334..c6b815729b0 100644
--- a/components/camel-jetty/pom.xml
+++ b/components/camel-jetty/pom.xml
@@ -155,15 +155,9 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>${httpclient4-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpmime</artifactId>
-            <version>${httpclient4-version}</version>
+            <groupId>org.apache.httpcomponents.client5</groupId>
+            <artifactId>httpclient5</artifactId>
+            <version>${httpclient-version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
index 28107e03e39..6e57728a886 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
@@ -33,12 +33,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
+import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -69,23 +69,21 @@ public class CustomFiltersTest extends BaseJettyTest {
     }
 
     private void sendRequestAndVerify(String url) throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
-
         HttpPost httppost = new HttpPost(url);
         httppost.setEntity(new StringEntity("This is a test"));
 
-        HttpResponse response = client.execute(httppost);
-
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httppost)) {
 
-        assertEquals("This is a test response", responseString, "Get a wrong result");
-        assertEquals("true", response.getFirstHeader("MyTestFilter").getValue(), "Did not use custom multipart filter");
+            assertEquals(200, response.getCode(), "Get a wrong response status");
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
 
-        // just make sure the KeyWord header is set
-        assertEquals("KEY", response.getFirstHeader("KeyWord").getValue(), "Did not set the right KeyWord header");
+            assertEquals("This is a test response", responseString, "Get a wrong result");
+            assertEquals("true", response.getFirstHeader("MyTestFilter").getValue(), "Did not use custom multipart filter");
 
-        client.close();
+            // just make sure the KeyWord header is set
+            assertEquals("KEY", response.getFirstHeader("KeyWord").getValue(), "Did not set the right KeyWord header");
+        }
     }
 
     @Test
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
index 8cf15d34cae..5d067835054 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/EnableCORSTest.java
@@ -17,10 +17,10 @@
 package org.apache.camel.component.jetty;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -31,38 +31,33 @@ public class EnableCORSTest extends BaseJettyTest {
 
     @Test
     public void testCORSdisabled() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
-
         HttpGet httpMethod = new HttpGet("http://localhost:" + getPort() + "/test1");
         httpMethod.addHeader("Origin", "http://localhost:9000");
         httpMethod.addHeader("Referer", "http://localhost:9000");
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httpMethod)) {
 
-        HttpResponse response = client.execute(httpMethod);
-
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
-
-        Object responseHeader = response.getFirstHeader("Access-Control-Allow-Credentials");
-        assertNull(responseHeader, "Access-Control-Allow-Credentials HEADER should not be set");
+            assertEquals(200, response.getCode(), "Get a wrong response status");
 
-        client.close();
+            Object responseHeader = response.getFirstHeader("Access-Control-Allow-Credentials");
+            assertNull(responseHeader, "Access-Control-Allow-Credentials HEADER should not be set");
+        }
     }
 
     @Test
     public void testCORSenabled() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
-
         HttpGet httpMethod = new HttpGet("http://localhost:" + getPort2() + "/test2");
         httpMethod.addHeader("Origin", "http://localhost:9000");
         httpMethod.addHeader("Referer", "http://localhost:9000");
 
-        HttpResponse response = client.execute(httpMethod);
-
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httpMethod)) {
 
-        String responseHeader = response.getFirstHeader("Access-Control-Allow-Credentials").getValue();
-        assertTrue(Boolean.parseBoolean(responseHeader), "CORS not enabled");
+            assertEquals(200, response.getCode(), "Get a wrong response status");
 
-        client.close();
+            String responseHeader = response.getFirstHeader("Access-Control-Allow-Credentials").getValue();
+            assertTrue(Boolean.parseBoolean(responseHeader), "CORS not enabled");
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthTest.java
index 61990160c21..b7c61c325cd 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBasicAuthTest.java
@@ -17,7 +17,7 @@
 package org.apache.camel.component.jetty;
 
 import java.security.Principal;
-import java.util.Arrays;
+import java.util.List;
 
 import jakarta.servlet.http.HttpServletRequest;
 
@@ -53,11 +53,11 @@ public class HttpBasicAuthTest extends BaseJettyTest {
 
         ConstraintSecurityHandler sh = new ConstraintSecurityHandler();
         sh.setAuthenticator(new BasicAuthenticator());
-        sh.setConstraintMappings(Arrays.asList(new ConstraintMapping[] { cm }));
+        sh.setConstraintMappings(List.of(cm));
 
         HashLoginService loginService = new HashLoginService("MyRealm", "src/test/resources/myRealm.properties");
         sh.setLoginService(loginService);
-        sh.setConstraintMappings(Arrays.asList(new ConstraintMapping[] { cm }));
+        sh.setConstraintMappings(List.of(cm));
 
         return sh;
     }
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
index a8234021922..18362525387 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
@@ -24,13 +24,13 @@ import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.http.HttpEndpoint;
 import org.apache.camel.support.DefaultHeaderFilterStrategy;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.mime.MultipartEntityBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.HttpEntity;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -53,21 +53,19 @@ public class HttpBridgeMultipartRouteTest extends BaseJettyTest {
     public void testHttpClient() throws Exception {
         File jpg = new File("src/test/resources/java.jpg");
         String body = "TEST";
-
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost method = new HttpPost("http://localhost:" + port2 + "/test/hello");
         HttpEntity entity = MultipartEntityBuilder.create().addTextBody("body", body).addBinaryBody(jpg.getName(), jpg).build();
         method.setEntity(entity);
 
-        HttpResponse response = client.execute(method);
-
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
-        assertEquals(body, responseString);
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(method)) {
 
-        String numAttachments = response.getFirstHeader("numAttachments").getValue();
-        assertEquals("2", numAttachments);
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+            assertEquals(body, responseString);
 
-        client.close();
+            String numAttachments = response.getFirstHeader("numAttachments").getValue();
+            assertEquals("2", numAttachments);
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpGZipEncodingTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpGZipEncodingTest.java
index bf955f6ae37..54f8ca71d5f 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpGZipEncodingTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpGZipEncodingTest.java
@@ -26,13 +26,13 @@ import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.http.HttpClientConfigurer;
 import org.apache.camel.spi.Registry;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-@Disabled("TODO: investigate for Camel 3.0.  The test actally works fine, but the "
+@Disabled("TODO: investigate for Camel 3.0.  The test actually works fine, but the "
           + "test needs to be verified as http supports gzip by default, so some tests may "
           + "have to be changed to stay meaningful.")
 public class HttpGZipEncodingTest extends BaseJettyTest {
@@ -95,7 +95,7 @@ public class HttpGZipEncodingTest extends BaseJettyTest {
                         exchange.getMessage().setHeader(Exchange.CONTENT_ENCODING, "gzip");
                         // check the Accept Encoding header
                         String header = exchange.getIn().getHeader("Accept-Encoding", String.class);
-                        if (header != null && header.indexOf("gzip") > -1) {
+                        if (header != null && header.contains("gzip")) {
                             exchange.getMessage().setBody("<b>Hello World for gzip</b>");
                         } else {
                             exchange.getMessage().setBody("<b>Hello World</b>");
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderCaseTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderCaseTest.java
index fadd835bb35..5e9968da093 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderCaseTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderCaseTest.java
@@ -22,11 +22,11 @@ import java.util.Map;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,19 +35,20 @@ public class HttpHeaderCaseTest extends BaseJettyTest {
 
     @Test
     public void testHttpHeaderCase() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost method = new HttpPost("http://localhost:" + getPort() + "/myapp/mytest");
 
         method.addHeader("clientHeader", "fooBAR");
         method.addHeader("OTHER", "123");
         method.addHeader("beer", "Carlsberg");
 
-        HttpResponse response = client.execute(method);
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(method)) {
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
 
-        assertEquals("Bye World", responseString);
-        assertEquals("aBc123", response.getFirstHeader("MyCaseHeader").getValue());
-        assertEquals("456DEf", response.getFirstHeader("otherCaseHeader").getValue());
+            assertEquals("Bye World", responseString);
+            assertEquals("aBc123", response.getFirstHeader("MyCaseHeader").getValue());
+            assertEquals("456DEf", response.getFirstHeader("otherCaseHeader").getValue());
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpMethodRestrictTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpMethodRestrictTest.java
index 5e3f09c32d0..bd48d928769 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpMethodRestrictTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpMethodRestrictTest.java
@@ -20,13 +20,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
+import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -39,25 +39,25 @@ public class HttpMethodRestrictTest extends BaseJettyTest {
 
     @Test
     public void testProperHttpMethod() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost httpPost = new HttpPost(getUrl());
         httpPost.setEntity(new StringEntity("This is a test"));
-        HttpResponse response = client.execute(httpPost);
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httpPost)) {
 
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
-        assertEquals("This is a test response", responseString, "Get a wrong result");
-
-        client.close();
+            assertEquals(200, response.getCode(), "Get a wrong response status");
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+            assertEquals("This is a test response", responseString, "Get a wrong result");
+        }
     }
 
     @Test
     public void testImproperHttpMethod() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpGet httpGet = new HttpGet(getUrl());
-        HttpResponse response = client.execute(httpGet);
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httpGet)) {
 
-        assertEquals(405, response.getStatusLine().getStatusCode(), "Get a wrong response status");
+            assertEquals(405, response.getCode(), "Get a wrong response status");
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerSOTimeoutTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerSOTimeoutTest.java
index 337c95e29d7..bb7e5401d55 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerSOTimeoutTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerSOTimeoutTest.java
@@ -37,7 +37,7 @@ public class HttpProducerSOTimeoutTest extends BaseJettyTest {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        String out = template.requestBody("http://localhost:{{port}}/myservice?socketTimeout=5000", null, String.class);
+        String out = template.requestBody("http://localhost:{{port}}/myservice?responseTimeout=5000", null, String.class);
         assertEquals("Bye World", out);
 
         MockEndpoint.assertIsSatisfied(context);
@@ -50,7 +50,7 @@ public class HttpProducerSOTimeoutTest extends BaseJettyTest {
 
         try {
             // we use a timeout of 1 second
-            template.requestBody("http://localhost:{{port}}/myservice?socketTimeout=1000", null, String.class);
+            template.requestBody("http://localhost:{{port}}/myservice?responseTimeout=1000", null, String.class);
             fail("Should throw an exception");
         } catch (RuntimeCamelException e) {
             assertIsInstanceOf(SocketTimeoutException.class, e.getCause());
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java
index 12142982029..3566f2b913f 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java
@@ -33,14 +33,14 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.stream.InputStreamCache;
 import org.apache.camel.http.common.HttpMessage;
 import org.apache.camel.test.AvailablePortFinder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.entity.ContentType;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.classic.methods.HttpPut;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.ContentType;
+import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
@@ -114,55 +114,47 @@ public class HttpRouteTest extends BaseJettyTest {
 
     @Test
     public void testPostParameter() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost post = new HttpPost("http://localhost:" + port1 + "/parameter");
         post.addHeader("request", "PostParameter");
         post.addHeader("others", "bloggs");
-
-        HttpResponse response = client.execute(post);
-        String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
-        assertEquals("PostParameter", out, "Get a wrong output ");
-
-        client.close();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(post)) {
+            String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
+            assertEquals("PostParameter", out, "Get a wrong output ");
+        }
     }
 
     @Test
     public void testPostXMLMessage() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost post = new HttpPost("http://localhost:" + port1 + "/postxml");
         post.setEntity(new StringEntity(POST_MESSAGE, ContentType.APPLICATION_XML));
-
-        HttpResponse response = client.execute(post);
-        String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
-        assertEquals("OK", out, "Get a wrong output ");
-
-        client.close();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(post)) {
+            String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
+            assertEquals("OK", out, "Get a wrong output ");
+        }
     }
 
     @Test
     public void testPostParameterInURI() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPost post = new HttpPost("http://localhost:" + port1 + "/parameter?request=PostParameter&others=bloggs");
         post.setEntity(new StringEntity(POST_MESSAGE, ContentType.APPLICATION_XML));
-
-        HttpResponse response = client.execute(post);
-        String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
-        assertEquals("PostParameter", out, "Get a wrong output ");
-
-        client.close();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(post)) {
+            String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
+            assertEquals("PostParameter", out, "Get a wrong output ");
+        }
     }
 
     @Test
     public void testPutParameterInURI() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpPut put = new HttpPut("http://localhost:" + port1 + "/parameter?request=PutParameter&others=bloggs");
         put.setEntity(new StringEntity(POST_MESSAGE, ContentType.APPLICATION_XML));
-
-        HttpResponse response = client.execute(put);
-        String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
-        assertEquals("PutParameter", out, "Get a wrong output ");
-
-        client.close();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(put)) {
+            String out = context.getTypeConverter().convertTo(String.class, response.getEntity().getContent());
+            assertEquals("PutParameter", out, "Get a wrong output ");
+        }
     }
 
     @Test
@@ -185,14 +177,12 @@ public class HttpRouteTest extends BaseJettyTest {
 
     @Test
     public void testResponseCode() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
         HttpGet get = new HttpGet("http://localhost:" + port1 + "/responseCode");
-
-        HttpResponse response = client.execute(get);
-        // just make sure we get the right
-        assertEquals(400, response.getStatusLine().getStatusCode(), "Get a wrong status code.");
-
-        client.close();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(get)) {
+            // just make sure we get the right
+            assertEquals(400, response.getCode(), "Get a wrong status code.");
+        }
     }
 
     protected void invokeHttpEndpoint() {
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyComponentMuteExceptionTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyComponentMuteExceptionTest.java
index 668a7dfbe04..7b28c201d62 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyComponentMuteExceptionTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyComponentMuteExceptionTest.java
@@ -18,11 +18,11 @@ package org.apache.camel.component.jetty;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.jetty11.JettyHttpComponent11;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -31,17 +31,16 @@ public class JettyComponentMuteExceptionTest extends BaseJettyTest {
 
     @Test
     public void testMuteException() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
-
         HttpGet get = new HttpGet("http://localhost:" + getPort() + "/foo");
         get.addHeader("Accept", "application/text");
-        HttpResponse response = client.execute(get);
 
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
-        assertEquals("", responseString);
-        assertEquals(500, response.getStatusLine().getStatusCode());
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(get)) {
 
-        client.close();
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+            assertEquals("", responseString);
+            assertEquals(500, response.getCode());
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyEndpointSetHttpTraceTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyEndpointSetHttpTraceTest.java
index ffbcc9843b5..615535b8111 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyEndpointSetHttpTraceTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyEndpointSetHttpTraceTest.java
@@ -18,10 +18,11 @@ package org.apache.camel.component.jetty;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.AvailablePortFinder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpTrace;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
+import org.apache.hc.client5.http.classic.methods.HttpTrace;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.HttpResponse;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
@@ -37,16 +38,16 @@ public class JettyEndpointSetHttpTraceTest extends BaseJettyTest {
 
     @Test
     public void testTraceDisabled() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
 
         HttpTrace trace = new HttpTrace("http://localhost:" + portTraceOff + "/myservice");
-        HttpResponse response = client.execute(trace);
 
-        // TRACE shouldn't be allowed by default
-        assertEquals(405, response.getStatusLine().getStatusCode());
-        trace.releaseConnection();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(trace)) {
 
-        client.close();
+            // TRACE shouldn't be allowed by default
+            assertEquals(405, response.getCode());
+            trace.reset();
+        }
     }
 
     @Test
@@ -57,8 +58,8 @@ public class JettyEndpointSetHttpTraceTest extends BaseJettyTest {
         HttpResponse response = client.execute(trace);
 
         // TRACE is allowed
-        assertEquals(200, response.getStatusLine().getStatusCode());
-        trace.releaseConnection();
+        assertEquals(200, response.getCode());
+        trace.reset();
 
         client.close();
     }
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
index 80de48c8c86..677b29da8c9 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
@@ -27,12 +27,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class JettyHttpContentTypeTest extends BaseJettyTest {
 
-    private static final String CHARSET = "iso-8859-1";
+    private static final String CHARSET = "ISO-8859-1";
 
     @Test
     public void testContentType() throws Exception {
         getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
-        getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE, "text/plain; charset=\"" + CHARSET + "\"");
+        getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE, "text/plain; charset=" + CHARSET);
         getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_CHARACTER_ENCODING, CHARSET);
         getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_URL, "http://127.0.0.1:" + getPort() + "/foo");
         getMockEndpoint("mock:input").expectedPropertyReceived(Exchange.CHARSET_NAME, CHARSET);
@@ -49,10 +49,10 @@ public class JettyHttpContentTypeTest extends BaseJettyTest {
     public void testContentTypeWithAction() throws Exception {
         getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
         getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE,
-                "text/plain;charset=\"" + CHARSET + "\";action=\"http://somewhere.com/foo\"");
-        getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_CHARACTER_ENCODING, CHARSET);
+                "text/plain; charset=" + CHARSET + "; action=\"http://somewhere.com/foo\"");
+        getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_CHARACTER_ENCODING, "iso-8859-1");
         getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_URL, "http://127.0.0.1:" + getPort() + "/foo");
-        getMockEndpoint("mock:input").expectedPropertyReceived(Exchange.CHARSET_NAME, CHARSET);
+        getMockEndpoint("mock:input").expectedPropertyReceived(Exchange.CHARSET_NAME, "iso-8859-1");
 
         byte[] data = "Hello World".getBytes(Charset.forName(CHARSET));
         String out = template.requestBodyAndHeader("http://127.0.0.1:{{port}}/foo", data, "content-type",
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyMuteExceptionTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyMuteExceptionTest.java
index d175029fd51..e92f294f884 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyMuteExceptionTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyMuteExceptionTest.java
@@ -17,11 +17,11 @@
 package org.apache.camel.component.jetty;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -30,17 +30,15 @@ public class JettyMuteExceptionTest extends BaseJettyTest {
 
     @Test
     public void testMuteException() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
-
         HttpGet get = new HttpGet("http://localhost:" + getPort() + "/foo");
         get.addHeader("Accept", "application/text");
-        HttpResponse response = client.execute(get);
-
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
-        assertEquals("", responseString);
-        assertEquals(500, response.getStatusLine().getStatusCode());
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(get)) {
 
-        client.close();
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+            assertEquals("", responseString);
+            assertEquals(500, response.getCode());
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySwitchingStatusCode204Test.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySwitchingStatusCode204Test.java
index 6a08e63fbe7..d06218a7d35 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySwitchingStatusCode204Test.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySwitchingStatusCode204Test.java
@@ -18,12 +18,12 @@ package org.apache.camel.component.jetty;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpGet;
+import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,11 +35,11 @@ public class JettySwitchingStatusCode204Test extends BaseJettyTest {
     @Test
     public void testSwitchNoBodyTo204ViaHttp() throws Exception {
         HttpUriRequest request = new HttpGet("http://localhost:" + getPort() + "/bar");
-        HttpClient httpClient = HttpClientBuilder.create().build();
-        HttpResponse httpResponse = httpClient.execute(request);
-
-        assertEquals(204, httpResponse.getStatusLine().getStatusCode());
-        assertNull(httpResponse.getEntity());
+        try (CloseableHttpClient httpClient = HttpClients.createDefault();
+             CloseableHttpResponse httpResponse = httpClient.execute(request)) {
+            assertEquals(204, httpResponse.getCode());
+            assertNull(httpResponse.getEntity());
+        }
     }
 
     @Test
@@ -48,7 +48,7 @@ public class JettySwitchingStatusCode204Test extends BaseJettyTest {
         Exchange outExchange = template.send("http://localhost:{{port}}/bar", inExchange);
 
         assertEquals(204, outExchange.getMessage().getHeader(Exchange.HTTP_RESPONSE_CODE));
-        assertEquals(null, outExchange.getMessage().getBody(String.class));
+        assertNull(outExchange.getMessage().getBody(String.class));
     }
 
     @Test
@@ -57,18 +57,18 @@ public class JettySwitchingStatusCode204Test extends BaseJettyTest {
         Exchange outExchange = template.send("direct:bar", inExchange);
 
         assertEquals(204, outExchange.getMessage().getHeader(Exchange.HTTP_RESPONSE_CODE));
-        assertEquals(null, outExchange.getMessage().getBody(String.class));
+        assertNull(outExchange.getMessage().getBody(String.class));
     }
 
     @Test
     public void testNoSwitchingNoCodeViaHttp() throws Exception {
         HttpUriRequest request = new HttpGet("http://localhost:" + getPort() + "/foo");
-        HttpClient httpClient = HttpClientBuilder.create().build();
-        HttpResponse httpResponse = httpClient.execute(request);
-
-        assertEquals(200, httpResponse.getStatusLine().getStatusCode());
-        assertNotNull(httpResponse.getEntity());
-        assertEquals("No Content", EntityUtils.toString(httpResponse.getEntity()));
+        try (CloseableHttpClient httpClient = HttpClients.createDefault();
+             CloseableHttpResponse httpResponse = httpClient.execute(request)) {
+            assertEquals(200, httpResponse.getCode());
+            assertNotNull(httpResponse.getEntity());
+            assertEquals("No Content", EntityUtils.toString(httpResponse.getEntity()));
+        }
     }
 
     @Test
@@ -92,12 +92,12 @@ public class JettySwitchingStatusCode204Test extends BaseJettyTest {
     @Test
     public void testNoSwitchingNoBodyViaHttp() throws Exception {
         HttpUriRequest request = new HttpGet("http://localhost:" + getPort() + "/foobar");
-        HttpClient httpClient = HttpClientBuilder.create().build();
-        HttpResponse httpResponse = httpClient.execute(request);
-
-        assertEquals(200, httpResponse.getStatusLine().getStatusCode());
-        assertNotNull(httpResponse.getEntity());
-        assertEquals("", EntityUtils.toString(httpResponse.getEntity()));
+        try (CloseableHttpClient httpClient = HttpClients.createDefault();
+             CloseableHttpResponse httpResponse = httpClient.execute(request)) {
+            assertEquals(200, httpResponse.getCode());
+            assertNotNull(httpResponse.getEntity());
+            assertEquals("", EntityUtils.toString(httpResponse.getEntity()));
+        }
     }
 
     @Test
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java
index 9393cb70022..62a6f863692 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormTest.java
@@ -25,11 +25,12 @@ import org.apache.camel.Processor;
 import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.util.IOHelper;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.mime.MultipartEntityBuilder;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.HttpEntity;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -46,16 +47,17 @@ public class MultiPartFormTest extends BaseJettyTest {
 
     @Test
     public void testSendMultiPartForm() throws Exception {
-        org.apache.http.client.HttpClient client = HttpClientBuilder.create().build();
         HttpPost post = new HttpPost("http://localhost:" + getPort() + "/test");
         post.setEntity(createMultipartRequestEntity());
-        HttpResponse response = client.execute(post);
-        int status = response.getStatusLine().getStatusCode();
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(post)) {
+            int status = response.getCode();
 
-        assertEquals(200, status, "Get a wrong response status");
-        String result = IOHelper.loadText(response.getEntity().getContent()).trim();
+            assertEquals(200, status, "Get a wrong response status");
+            String result = IOHelper.loadText(response.getEntity().getContent()).trim();
 
-        assertEquals("A binary file of some kind", result, "Get a wrong result");
+            assertEquals("A binary file of some kind", result, "Get a wrong result");
+        }
     }
 
     @Test
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
index 8041c26d9f7..a021265e272 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
@@ -31,13 +31,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.mime.MultipartEntityBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
+import org.apache.hc.client5.http.classic.methods.HttpPost;
+import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
+import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.core5.http.HttpEntity;
+import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -62,7 +62,6 @@ public class MultiPartFormWithCustomFilterTest extends BaseJettyTest {
 
     @Test
     public void testSendMultiPartForm() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
 
         File file = new File("src/test/resources/log4j2.properties");
         HttpPost httppost = new HttpPost("http://localhost:" + getPort() + "/test");
@@ -71,19 +70,19 @@ public class MultiPartFormWithCustomFilterTest extends BaseJettyTest {
                 .addBinaryBody(file.getName(), file).build();
         httppost.setEntity(entity);
 
-        HttpResponse response = client.execute(httppost);
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
-        String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httppost)) {
+            assertEquals(200, response.getCode(), "Get a wrong response status");
+            String responseString = EntityUtils.toString(response.getEntity(), "UTF-8");
 
-        assertEquals("A binary file of some kind", responseString, "Get a wrong result");
-        assertNotNull(response.getFirstHeader("MyMultipartFilter").getValue(), "Did not use custom multipart filter");
+            assertEquals("A binary file of some kind", responseString, "Get a wrong result");
+            assertNotNull(response.getFirstHeader("MyMultipartFilter").getValue(), "Did not use custom multipart filter");
 
-        client.close();
+        }
     }
 
     @Test
     public void testSendMultiPartFormOverrideEnableMultpartFilterFalse() throws Exception {
-        CloseableHttpClient client = HttpClients.createDefault();
 
         File file = new File("src/test/resources/log4j2.properties");
 
@@ -92,10 +91,12 @@ public class MultiPartFormWithCustomFilterTest extends BaseJettyTest {
                 .addBinaryBody(file.getName(), file).build();
         httppost.setEntity(entity);
 
-        HttpResponse response = client.execute(httppost);
+        try (CloseableHttpClient client = HttpClients.createDefault();
+             CloseableHttpResponse response = client.execute(httppost)) {
 
-        assertEquals(200, response.getStatusLine().getStatusCode(), "Get a wrong response status");
-        assertNotNull(response.getFirstHeader("MyMultipartFilter").getValue(), "Did not use custom multipart filter");
+            assertEquals(200, response.getCode(), "Get a wrong response status");
+            assertNotNull(response.getFirstHeader("MyMultipartFilter").getValue(), "Did not use custom multipart filter");
+        }
     }
 
     @Override
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiThreadedHttpGetTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiThreadedHttpGetTest.java
index 7dadee6f2ba..501b6ae1a3f 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiThreadedHttpGetTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiThreadedHttpGetTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.http.HttpComponent;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -105,10 +105,12 @@ public class MultiThreadedHttpGetTest extends BaseJettyTest {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("seda:withConversion?concurrentConsumers=5").to("http://localhost:{{port}}/search")
+                from("seda:withConversion?concurrentConsumers=5")
+                        .to("http://localhost:{{port}}/search")
                         .convertBodyTo(String.class).to("mock:results");
 
-                from("seda:withoutConversion?concurrentConsumers=5").to("http://localhost:{{port}}/search").to("mock:results");
+                from("seda:withoutConversion?concurrentConsumers=5")
+                        .to("http://localhost:{{port}}/search").to("mock:results");
 
                 from("jetty:http://localhost:{{port}}/search").process(new Processor() {
                     public void process(Exchange exchange) {
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringHttpsRouteTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringHttpsRouteTest.java
index f02fffbe091..c0b82af32c5 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringHttpsRouteTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringHttpsRouteTest.java
@@ -68,7 +68,7 @@ public class SpringHttpsRouteTest {
 
     @BeforeEach
     public void setUp() {
-        // ensure jsse clients can validate the self signed dummy localhost
+        // ensure jsse clients can validate the self-signed dummy localhost
         // cert,
         // use the server keystore as the trust store for these tests
         URL trustStoreUrl = Thread.currentThread().getContextClassLoader().getResource("jsse/localhost.p12");