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 <jen...@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 <jens.kleine-herzbr...@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