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/05/16 05:30:50 UTC

[camel] 01/02: CAMEL-19314 - Fixing the connection pool shutdown when aws health checks are used (#10009)

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

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

commit 7836348a6ba185090b8566c27709961b8e0ee67e
Author: Rhuan Rocha <rh...@gmail.com>
AuthorDate: Tue May 16 01:37:28 2023 -0300

    CAMEL-19314 - Fixing the connection pool shutdown when aws health checks are used (#10009)
    
    * CAMEL-19314 - Fixing the connection pool shutdown when aws health checks are used
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
    
    * CAMEL-19314 - Reusing the client to health check
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
    
    * CAMEL-19314 - Reusing the client to health check
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
    
    * CAMEL-19314 - Reverting the CAMEL-19281 to some connectors and solving the connection leak issue to KinesisClient
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
    
    * CAMEL-19314 - Reverting the CAMEL-19281 to some connectors and solving the connection leak issue to KinesisClient
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
    
    ---------
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
---
 .../cloudtrail/CloudtrailConsumerHealthCheck.java  |  7 ++++---
 .../SecretsManagerClientHealthCheck.java           |  4 +++-
 .../aws2/athena/Athena2ClientHealthCheck.java      |  5 +++--
 .../component/aws2/cw/Cw2ClientHealthCheck.java    |  4 +++-
 .../component/aws2/ddb/Ddb2ClientHealthCheck.java  |  3 ++-
 .../component/aws2/ec2/AWS2EC2HealthCheck.java     |  4 +++-
 .../component/aws2/eks/EKS2ClientHealthCheck.java  |  4 +++-
 .../eventbridge/EventbridgeClientHealthCheck.java  |  4 +++-
 .../camel/component/aws2/iam/IAM2HealthCheck.java  |  5 +++--
 .../aws2/kinesis/Kinesis2ConsumerHealthCheck.java  | 24 ++--------------------
 .../aws2/lambda/Lambda2ClientHealthCheck.java      |  4 +++-
 .../component/aws2/mq/MQ2ClientHealthCheck.java    |  6 ++++--
 .../aws2/s3/AWS2S3ConsumerHealthCheck.java         |  8 +++++---
 .../camel/component/aws2/sns/Sns2HealthCheck.java  |  6 ++++--
 .../aws2/sqs/Sqs2ConsumerHealthCheck.java          |  7 ++++---
 .../translate/Translate2ClientHealthCheck.java     |  4 +++-
 16 files changed, 52 insertions(+), 47 deletions(-)

diff --git a/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumerHealthCheck.java b/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumerHealthCheck.java
index 82b1f3e7704..1ed7a87f915 100644
--- a/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumerHealthCheck.java
+++ b/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/CloudtrailConsumerHealthCheck.java
@@ -44,8 +44,8 @@ public class CloudtrailConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (CloudTrailClient client = cloudtrailConsumer.getEndpoint().getClient()) {
-            CloudtrailConfiguration configuration = cloudtrailConsumer.getEndpoint().getConfiguration();
+        CloudtrailConfiguration configuration = cloudtrailConsumer.getEndpoint().getConfiguration();
+        try {
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!CloudTrailClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                     builder.message("The service is not supported in this region");
@@ -53,7 +53,7 @@ public class CloudtrailConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-
+            CloudTrailClient client = cloudtrailConsumer.getEndpoint().getClient();
             client.listChannels(ListChannelsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -76,4 +76,5 @@ public class CloudtrailConsumerHealthCheck extends AbstractHealthCheck {
         builder.up();
 
     }
+
 }
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerClientHealthCheck.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerClientHealthCheck.java
index 9a65e367386..1e6f9806bcb 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerClientHealthCheck.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerClientHealthCheck.java
@@ -52,7 +52,8 @@ public class SecretsManagerClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (SecretsManagerClient secretsManagerClient = secretsManagerEndpoint.getSecretsManagerClient()) {
+        try {
+            SecretsManagerClient secretsManagerClient = secretsManagerEndpoint.getSecretsManagerClient();
             secretsManagerClient.listSecrets(ListSecretsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -72,4 +73,5 @@ public class SecretsManagerClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java
index 481c7902c6c..5f884b4f971 100644
--- a/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-athena/src/main/java/org/apache/camel/component/aws2/athena/Athena2ClientHealthCheck.java
@@ -47,7 +47,7 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (AthenaClient client = athena2Endpoint.getAthenaClient()) {
+        try {
             if (ObjectHelper.isNotEmpty(athena2Endpoint.getConfiguration().getRegion())) {
                 if (!AthenaClient.serviceMetadata().regions()
                         .contains(Region.of(athena2Endpoint.getConfiguration().getRegion()))) {
@@ -56,7 +56,7 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-
+            AthenaClient client = athena2Endpoint.getAthenaClient();
             client.listQueryExecutions(ListQueryExecutionsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -77,4 +77,5 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2ClientHealthCheck.java b/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2ClientHealthCheck.java
index 03a89861614..58764a5a596 100644
--- a/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-cw/src/main/java/org/apache/camel/component/aws2/cw/Cw2ClientHealthCheck.java
@@ -54,7 +54,8 @@ public class Cw2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (CloudWatchClient cw2Client = cw2Endpoint.getCloudWatchClient()) {
+        try {
+            CloudWatchClient cw2Client = cw2Endpoint.getCloudWatchClient();
             cw2Client.listDashboards(ListDashboardsRequest.builder().build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -74,4 +75,5 @@ public class Cw2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2ClientHealthCheck.java b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2ClientHealthCheck.java
index 9bab3e3b677..49e6af0f4df 100644
--- a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2ClientHealthCheck.java
@@ -54,7 +54,8 @@ public class Ddb2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (DynamoDbClient ddbClient = ddb2Endpoint.getDdbClient()) {
+        try {
+            DynamoDbClient ddbClient = ddb2Endpoint.getDdbClient();
             ddbClient.listTables(ListTablesRequest.builder().limit(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
diff --git a/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2HealthCheck.java b/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2HealthCheck.java
index 995e870552f..f87497ffb3f 100644
--- a/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2HealthCheck.java
+++ b/components/camel-aws/camel-aws2-ec2/src/main/java/org/apache/camel/component/aws2/ec2/AWS2EC2HealthCheck.java
@@ -46,7 +46,7 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (Ec2Client client = aws2EC2Endpoint.getEc2Client()) {
+        try {
             AWS2EC2Configuration configuration = aws2EC2Endpoint.getConfiguration();
             if (!Ec2Client.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
@@ -54,6 +54,7 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
+            Ec2Client client = aws2EC2Endpoint.getEc2Client();
             client.describeInstances();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -73,4 +74,5 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2ClientHealthCheck.java b/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2ClientHealthCheck.java
index 3f0c677819f..e1a53601265 100644
--- a/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-eks/src/main/java/org/apache/camel/component/aws2/eks/EKS2ClientHealthCheck.java
@@ -54,7 +54,8 @@ public class EKS2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (EksClient eks2Client = eks2Endpoint.getEksClient()) {
+        try {
+            EksClient eks2Client = eks2Endpoint.getEksClient();
             eks2Client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -74,4 +75,5 @@ public class EKS2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java
index bdaaf8e5fe0..41b1a2b7d71 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java
@@ -52,7 +52,8 @@ public class EventbridgeClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (EventBridgeClient eventbridgeClient = eventbridgeEndpoint.getEventbridgeClient()) {
+        try {
+            EventBridgeClient eventbridgeClient = eventbridgeEndpoint.getEventbridgeClient();
             eventbridgeClient.listEventBuses(ListEventBusesRequest.builder().limit(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -72,4 +73,5 @@ public class EventbridgeClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
index 13d80628169..f1795570fd4 100644
--- a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
+++ b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
@@ -43,14 +43,14 @@ public class IAM2HealthCheck extends AbstractHealthCheck {
 
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
-        try (IamClient client = endpoint.getIamClient()) {
+        try {
             IAM2Configuration configuration = endpoint.getConfiguration();
             if (!IamClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
                 builder.down();
                 return;
             }
-
+            IamClient client = endpoint.getIamClient();
             client.listAccessKeys(ListAccessKeysRequest.builder().maxItems(1).build());
         } catch (SdkClientException e) {
             builder.message(e.getMessage());
@@ -63,4 +63,5 @@ public class IAM2HealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheck.java b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheck.java
index 27b34f09e3f..7936fcb39b7 100644
--- a/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheck.java
+++ b/components/camel-aws/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/kinesis/Kinesis2ConsumerHealthCheck.java
@@ -21,12 +21,9 @@ import java.util.Map;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
-import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
-import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
 import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.kinesis.KinesisClient;
-import software.amazon.awssdk.services.kinesis.KinesisClientBuilder;
 
 public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
 
@@ -48,7 +45,7 @@ public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (KinesisClient client = buildClient(kinesis2Consumer.getConfiguration())) {
+        try {
             Kinesis2Configuration configuration = kinesis2Consumer.getConfiguration();
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!KinesisClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
@@ -57,7 +54,7 @@ public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-
+            KinesisClient client = kinesis2Consumer.getEndpoint().getClient();
             client.listStreams();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -81,21 +78,4 @@ public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
 
     }
 
-    private KinesisClient buildClient(Kinesis2Configuration configuration) {
-
-        if (!configuration.isUseDefaultCredentialsProvider()) {
-            AwsBasicCredentials cred
-                    = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey());
-            KinesisClientBuilder clientBuilder = KinesisClient.builder();
-            return clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                    .region(Region.of(configuration.getRegion())).build();
-        }
-        if (ObjectHelper.isNotEmpty(configuration.getAmazonKinesisClient())) {
-            return configuration.getAmazonKinesisClient();
-        }
-        KinesisClientBuilder clientBuilder = KinesisClient.builder();
-        return clientBuilder.region(Region.of(configuration.getRegion())).build();
-
-    }
-
 }
diff --git a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2ClientHealthCheck.java b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2ClientHealthCheck.java
index e112c6cad27..fe98458d14a 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2ClientHealthCheck.java
@@ -52,7 +52,8 @@ public class Lambda2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (LambdaClient lambda2Client = lambda2Endpoint.getAwsLambdaClient()) {
+        try {
+            LambdaClient lambda2Client = lambda2Endpoint.getAwsLambdaClient();
             lambda2Client.listFunctions(ListFunctionsRequest.builder().maxItems(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -72,4 +73,5 @@ public class Lambda2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2ClientHealthCheck.java b/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2ClientHealthCheck.java
index 20d0b897e52..794e3693e2d 100644
--- a/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-mq/src/main/java/org/apache/camel/component/aws2/mq/MQ2ClientHealthCheck.java
@@ -52,8 +52,9 @@ public class MQ2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (MqClient mqClient = mq2Endpoint.getAmazonMqClient()) {
-            mqClient.listBrokers(ListBrokersRequest.builder().maxResults(1).build());
+        try {
+            MqClient client = mq2Endpoint.getAmazonMqClient();
+            client.listBrokers(ListBrokersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
@@ -72,4 +73,5 @@ public class MQ2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheck.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheck.java
index 6519fd411a8..f89f4fe3cd8 100644
--- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheck.java
+++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCheck.java
@@ -46,8 +46,9 @@ public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (S3Client client = aws2S3Consumer.getAmazonS3Client()) {
-            AWS2S3Configuration configuration = aws2S3Consumer.getConfiguration();
+        AWS2S3Configuration configuration = aws2S3Consumer.getConfiguration();
+        try {
+
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!S3Client.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                     builder.message("The service is not supported in this region");
@@ -55,7 +56,7 @@ public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-
+            S3Client client = aws2S3Consumer.getAmazonS3Client();
             client.headBucket(HeadBucketRequest.builder().bucket(configuration.getBucketName()).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -78,4 +79,5 @@ public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
         builder.up();
 
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2HealthCheck.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2HealthCheck.java
index d5a3096f6d6..8ee99b444f3 100644
--- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2HealthCheck.java
+++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2HealthCheck.java
@@ -44,13 +44,14 @@ public class Sns2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (SnsClient client = sns2Endpoint.getSNSClient()) {
-            Sns2Configuration configuration = sns2Endpoint.getConfiguration();
+        Sns2Configuration configuration = sns2Endpoint.getConfiguration();
+        try {
             if (!SnsClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
                 builder.down();
                 return;
             }
+            SnsClient client = sns2Endpoint.getSNSClient();
             client.listSubscriptions();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -64,4 +65,5 @@ public class Sns2HealthCheck extends AbstractHealthCheck {
         builder.up();
 
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheck.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheck.java
index 7d10f0f459a..2c47348841d 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheck.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2ConsumerHealthCheck.java
@@ -46,8 +46,8 @@ public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try (SqsClient client = sqs2Consumer.getClient()) {
-            Sqs2Configuration configuration = sqs2Consumer.getConfiguration();
+        Sqs2Configuration configuration = sqs2Consumer.getConfiguration();
+        try {
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!SqsClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                     builder.message("The service is not supported in this region");
@@ -55,7 +55,7 @@ public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-
+            SqsClient client = sqs2Consumer.getClient();
             client.listQueues(ListQueuesRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -78,4 +78,5 @@ public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
         builder.up();
 
     }
+
 }
diff --git a/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ClientHealthCheck.java b/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ClientHealthCheck.java
index 53fdd306b3b..27a6d5a87d1 100644
--- a/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ClientHealthCheck.java
@@ -52,7 +52,8 @@ public class Translate2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try (TranslateClient translateClient = translate2Endpoint.getTranslateClient()) {
+        try {
+            TranslateClient translateClient = translate2Endpoint.getTranslateClient();
             translateClient.listLanguages(ListLanguagesRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -72,4 +73,5 @@ public class Translate2ClientHealthCheck extends AbstractHealthCheck {
         }
         builder.up();
     }
+
 }