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 2020/11/03 18:39:28 UTC

[camel] branch master updated: CAMEL-15794: don't recreate SSL socket factory for every invocation (#4556)

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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a5f7e9  CAMEL-15794: don't recreate SSL socket factory for every invocation (#4556)
4a5f7e9 is described below

commit 4a5f7e96f9ce97d1627b3437e1968eb8af49ed87
Author: fizzet <je...@gmx.net>
AuthorDate: Tue Nov 3 19:35:23 2020 +0100

    CAMEL-15794: don't recreate SSL socket factory for every invocation (#4556)
    
    Co-authored-by: Jens Kleine-Herzbruch <je...@dzbank.de>
---
 .../component/cxf/common/AbstractSslEndpointConfigurer.java   | 10 ++++------
 .../org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java   | 11 +++++++----
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/common/AbstractSslEndpointConfigurer.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/common/AbstractSslEndpointConfigurer.java
index 32b3ac4..2eebdee 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/common/AbstractSslEndpointConfigurer.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/common/AbstractSslEndpointConfigurer.java
@@ -27,21 +27,19 @@ import org.apache.cxf.configuration.jsse.TLSClientParameters;
 import org.apache.cxf.transport.http.HTTPConduit;
 
 public class AbstractSslEndpointConfigurer extends AbstractTLSClientParameterConfigurer {
-    protected final SSLContextParameters sslContextParameters;
-    protected final CamelContext camelContext;
+    protected final SSLSocketFactory sslSocketFactory;
 
     public AbstractSslEndpointConfigurer(SSLContextParameters sslContextParameters, CamelContext camelContext) {
-        this.sslContextParameters = sslContextParameters;
-        this.camelContext = camelContext;
+        this.sslSocketFactory = tryToGetSSLSocketFactory(sslContextParameters, camelContext);
     }
 
     protected void setupHttpConduit(HTTPConduit httpConduit) {
         TLSClientParameters tlsClientParameters = tryToGetTLSClientParametersFromConduit(httpConduit);
-        tlsClientParameters.setSSLSocketFactory(tryToGetSSLSocketFactory());
+        tlsClientParameters.setSSLSocketFactory(sslSocketFactory);
         httpConduit.setTlsClientParameters(tlsClientParameters);
     }
 
-    private SSLSocketFactory tryToGetSSLSocketFactory() {
+    private SSLSocketFactory tryToGetSSLSocketFactory(SSLContextParameters sslContextParameters, CamelContext camelContext) {
         try {
             return sslContextParameters.createSSLContext(camelContext)
                     .getSocketFactory();
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 8d52629..a6460ed 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -75,6 +75,7 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
     protected Bus bus;
 
     private final InterceptorHolder interceptorHolder = new InterceptorHolder();
+    private CxfRsConfigurer chainedConfigurer;
 
     private Map<String, String> parameters;
     private Map<String, Object> properties;
@@ -223,10 +224,7 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
     }
 
     public CxfRsConfigurer getChainedCxfRsEndpointConfigurer() {
-        return ChainedCxfRsConfigurer
-                .create(getNullSafeCxfRsEndpointConfigurer(),
-                        SslCxfRsConfigurer.create(sslContextParameters, getCamelContext()))
-                .addChild(HostnameVerifierCxfRsConfigurer.create(hostnameVerifier));
+        return chainedConfigurer;
     }
 
     /**
@@ -761,6 +759,11 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
                 setProvider(provider);
             }
         }
+
+        chainedConfigurer = ChainedCxfRsConfigurer
+                .create(getNullSafeCxfRsEndpointConfigurer(),
+                        SslCxfRsConfigurer.create(sslContextParameters, getCamelContext()))
+                .addChild(HostnameVerifierCxfRsConfigurer.create(hostnameVerifier));
     }
 
     @Override