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 2023/07/26 12:18:36 UTC

[camel] 01/01: CAMEL-18234: Exception building aws2-sqs route when certificate validation is disabled and a proxy is configured

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

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

commit e73d55ab5b58c3102ad5ef347f6bf10987798b91
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Jul 26 14:18:23 2023 +0200

    CAMEL-18234: Exception building aws2-sqs route when certificate validation is disabled and a proxy is configured
---
 .../org/apache/camel/component/aws2/sqs/Sqs2Consumer.java     | 11 +++++++----
 .../org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java     |  1 -
 .../aws2/sqs/client/impl/Sqs2ClientIAMOptimized.java          |  7 ++++++-
 .../sqs/client/impl/Sqs2ClientIAMProfileOptimizedImpl.java    |  7 ++++++-
 .../aws2/sqs/client/impl/Sqs2ClientStandardImpl.java          |  7 ++++++-
 5 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Consumer.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Consumer.java
index 233384c061a..375fccd65e1 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Consumer.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Consumer.java
@@ -186,7 +186,8 @@ public class Sqs2Consumer extends ScheduledBatchPollingConsumer {
                             repeatSeconds, exchange.getExchangeId());
                 }
                 final TimeoutExtender extender = new TimeoutExtender(exchange, repeatSeconds);
-                final ScheduledFuture<?> scheduledFuture = this.scheduledExecutor.scheduleAtFixedRate(extender, delay, period, TimeUnit.SECONDS);
+                final ScheduledFuture<?> scheduledFuture
+                        = this.scheduledExecutor.scheduleAtFixedRate(extender, delay, period, TimeUnit.SECONDS);
                 exchange.getExchangeExtension().addOnCompletion(new Synchronization() {
                     @Override
                     public void onComplete(Exchange exchange) {
@@ -205,7 +206,8 @@ public class Sqs2Consumer extends ScheduledBatchPollingConsumer {
                         extender.cancel();
                         boolean cancelled = scheduledFuture.cancel(true);
                         if (!cancelled) {
-                            LOG.warn("TimeoutExtender task for exchangeId: {} could not be cancelled", exchange.getExchangeId());
+                            LOG.warn("TimeoutExtender task for exchangeId: {} could not be cancelled",
+                                    exchange.getExchangeId());
                         }
                     }
                 });
@@ -382,7 +384,8 @@ public class Sqs2Consumer extends ScheduledBatchPollingConsumer {
 
         if (healthCheckRepository != null) {
             consumerHealthCheck = new Sqs2ConsumerHealthCheck(this, getRouteId());
-            consumerHealthCheck.setEnabled(getEndpoint().getComponent().isHealthCheckEnabled() && getEndpoint().getComponent().isHealthCheckConsumerEnabled());
+            consumerHealthCheck.setEnabled(getEndpoint().getComponent().isHealthCheckEnabled()
+                    && getEndpoint().getComponent().isHealthCheckConsumerEnabled());
             healthCheckRepository.addHealthCheck(consumerHealthCheck);
         }
     }
@@ -418,7 +421,7 @@ public class Sqs2Consumer extends ScheduledBatchPollingConsumer {
             if (run.get()) {
                 ChangeMessageVisibilityRequest.Builder request
                         = ChangeMessageVisibilityRequest.builder().queueUrl(getQueueUrl()).visibilityTimeout(repeatSeconds)
-                        .receiptHandle(exchange.getIn().getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
+                                .receiptHandle(exchange.getIn().getHeader(Sqs2Constants.RECEIPT_HANDLE, String.class));
 
                 try {
                     LOG.trace("Extending visibility window by {} seconds for exchange {}", this.repeatSeconds, this.exchange);
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java
index 1134ddad262..365647a3f1a 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java
@@ -23,7 +23,6 @@ import java.util.EnumMap;
 import java.util.Map;
 
 import org.apache.camel.Category;
-import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMOptimized.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMOptimized.java
index 114db92c8b2..fc2ec15cef9 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMOptimized.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMOptimized.java
@@ -75,13 +75,18 @@ public class Sqs2ClientIAMOptimized implements Sqs2InternalClient {
             clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride()));
         }
         if (configuration.isTrustAllCertificates()) {
-            SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap
+            if (httpClientBuilder == null) {
+                httpClientBuilder = ApacheHttpClient.builder();
+            }
+            SdkHttpClient ahc = httpClientBuilder.buildWithDefaults(AttributeMap
                     .builder()
                     .put(
                             SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES,
                             Boolean.TRUE)
                     .build());
+            // set created http client to use instead of builder
             clientBuilder.httpClient(ahc);
+            clientBuilder.httpClientBuilder(null);
         }
         client = clientBuilder.build();
         return client;
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMProfileOptimizedImpl.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMProfileOptimizedImpl.java
index 4556e77a791..afba9fd2aa0 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMProfileOptimizedImpl.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientIAMProfileOptimizedImpl.java
@@ -96,13 +96,18 @@ public class Sqs2ClientIAMProfileOptimizedImpl implements Sqs2InternalClient {
             clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride()));
         }
         if (configuration.isTrustAllCertificates()) {
-            SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap
+            if (httpClientBuilder == null) {
+                httpClientBuilder = ApacheHttpClient.builder();
+            }
+            SdkHttpClient ahc = httpClientBuilder.buildWithDefaults(AttributeMap
                     .builder()
                     .put(
                             SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES,
                             Boolean.TRUE)
                     .build());
+            // set created http client to use instead of builder
             clientBuilder.httpClient(ahc);
+            clientBuilder.httpClientBuilder(null);
         }
         client = clientBuilder.build();
         return client;
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientStandardImpl.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientStandardImpl.java
index e91c10ce9f1..cf9259c948e 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientStandardImpl.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/client/impl/Sqs2ClientStandardImpl.java
@@ -97,13 +97,18 @@ public class Sqs2ClientStandardImpl implements Sqs2InternalClient {
             clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride()));
         }
         if (configuration.isTrustAllCertificates()) {
-            SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap
+            if (httpClientBuilder == null) {
+                httpClientBuilder = ApacheHttpClient.builder();
+            }
+            SdkHttpClient ahc = httpClientBuilder.buildWithDefaults(AttributeMap
                     .builder()
                     .put(
                             SdkHttpConfigurationOption.TRUST_ALL_CERTIFICATES,
                             Boolean.TRUE)
                     .build());
+            // set created http client to use instead of builder
             clientBuilder.httpClient(ahc);
+            clientBuilder.httpClientBuilder(null);
         }
         client = clientBuilder.build();
         return client;