You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/18 09:28:48 UTC

[1/2] camel git commit: CAMEL-9331: Thread leak in Http4Endpoint, doStop() does not close() the httpClient. Thanks to Aaron Whiteside for the patch.

Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x c95ffb8f8 -> 106e75f5f
  refs/heads/master 96b1de6c7 -> 62f1617c2


CAMEL-9331: Thread leak in Http4Endpoint, doStop() does not close() the httpClient. Thanks to Aaron Whiteside for the patch.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/62f1617c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/62f1617c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/62f1617c

Branch: refs/heads/master
Commit: 62f1617c28d5073b6ff43907115b630edc828df9
Parents: 96b1de6
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Nov 18 09:31:48 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 09:31:48 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/component/http4/HttpEndpoint.java    | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/62f1617c/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 57e9795..c5c82bc 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.http4;
 
+import java.io.Closeable;
 import java.net.URI;
 import java.net.URISyntaxException;
 
@@ -27,6 +28,7 @@ import org.apache.camel.http.common.HttpCommonEndpoint;
 import org.apache.camel.http.common.HttpHelper;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
+import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.http.HttpHost;
 import org.apache.http.client.CookieStore;
@@ -55,7 +57,7 @@ public class HttpEndpoint extends HttpCommonEndpoint {
     private HttpClientConfigurer httpClientConfigurer;
     private HttpClientConnectionManager clientConnectionManager;
     private HttpClientBuilder clientBuilder;
-    private  HttpClient httpClient;
+    private HttpClient httpClient;
 
     @UriParam(label = "producer")
     private CookieStore cookieStore = new BasicCookieStore();
@@ -130,6 +132,9 @@ public class HttpEndpoint extends HttpCommonEndpoint {
         clientBuilder.setDefaultCookieStore(cookieStore);
         // setup the httpConnectionManager
         clientBuilder.setConnectionManager(clientConnectionManager);
+        if (getClientConnectionManager() == getComponent().getClientConnectionManager()) {
+            clientBuilder.setConnectionManagerShared(true);
+        }
 
         // configure http proxy from camelContext
         if (ObjectHelper.isNotEmpty(getCamelContext().getProperty("http.proxyHost")) && ObjectHelper.isNotEmpty(getCamelContext().getProperty("http.proxyPort"))) {
@@ -175,6 +180,9 @@ public class HttpEndpoint extends HttpCommonEndpoint {
             // need to shutdown the ConnectionManager
             clientConnectionManager.shutdown();
         }
+        if (httpClient != null && httpClient instanceof Closeable) {
+            IOHelper.close((Closeable)httpClient);
+        }
     }
 
     // Properties


[2/2] camel git commit: CAMEL-9331: Thread leak in Http4Endpoint, doStop() does not close() the httpClient. Thanks to Aaron Whiteside for the patch.

Posted by da...@apache.org.
CAMEL-9331: Thread leak in Http4Endpoint, doStop() does not close() the httpClient. Thanks to Aaron Whiteside for the patch.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/106e75f5
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/106e75f5
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/106e75f5

Branch: refs/heads/camel-2.16.x
Commit: 106e75f5fe38bea1df81115fef9f532ef4282eaa
Parents: c95ffb8
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Nov 18 09:31:48 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 09:32:03 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/component/http4/HttpEndpoint.java    | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/106e75f5/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 57e9795..c5c82bc 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.http4;
 
+import java.io.Closeable;
 import java.net.URI;
 import java.net.URISyntaxException;
 
@@ -27,6 +28,7 @@ import org.apache.camel.http.common.HttpCommonEndpoint;
 import org.apache.camel.http.common.HttpHelper;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
+import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.http.HttpHost;
 import org.apache.http.client.CookieStore;
@@ -55,7 +57,7 @@ public class HttpEndpoint extends HttpCommonEndpoint {
     private HttpClientConfigurer httpClientConfigurer;
     private HttpClientConnectionManager clientConnectionManager;
     private HttpClientBuilder clientBuilder;
-    private  HttpClient httpClient;
+    private HttpClient httpClient;
 
     @UriParam(label = "producer")
     private CookieStore cookieStore = new BasicCookieStore();
@@ -130,6 +132,9 @@ public class HttpEndpoint extends HttpCommonEndpoint {
         clientBuilder.setDefaultCookieStore(cookieStore);
         // setup the httpConnectionManager
         clientBuilder.setConnectionManager(clientConnectionManager);
+        if (getClientConnectionManager() == getComponent().getClientConnectionManager()) {
+            clientBuilder.setConnectionManagerShared(true);
+        }
 
         // configure http proxy from camelContext
         if (ObjectHelper.isNotEmpty(getCamelContext().getProperty("http.proxyHost")) && ObjectHelper.isNotEmpty(getCamelContext().getProperty("http.proxyPort"))) {
@@ -175,6 +180,9 @@ public class HttpEndpoint extends HttpCommonEndpoint {
             // need to shutdown the ConnectionManager
             clientConnectionManager.shutdown();
         }
+        if (httpClient != null && httpClient instanceof Closeable) {
+            IOHelper.close((Closeable)httpClient);
+        }
     }
 
     // Properties