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/04/19 19:25:45 UTC

[camel] branch camel-3.x updated: CAMEL-19281 - Fixing the connection memory leak issue (#9901)

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

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


The following commit(s) were added to refs/heads/camel-3.x by this push:
     new e39b1a32e90 CAMEL-19281 - Fixing the connection memory leak issue (#9901)
e39b1a32e90 is described below

commit e39b1a32e90d592a9c3b5a70ed3b37b12f338a0a
Author: Rhuan Rocha <rh...@gmail.com>
AuthorDate: Wed Apr 19 16:25:09 2023 -0300

    CAMEL-19281 - Fixing the connection memory leak issue (#9901)
    
    Signed-off-by: Rhuan Rocha <rh...@gmail.com>
---
 .../cloudtrail/CloudtrailConsumerHealthCheck.java  |  3 +-
 .../SecretsManagerClientHealthCheck.java           |  4 +--
 .../aws2/athena/Athena2ClientHealthCheck.java      |  3 +-
 .../component/aws2/cw/Cw2ClientHealthCheck.java    |  4 +--
 .../component/aws2/ddb/Ddb2ClientHealthCheck.java  |  4 +--
 .../component/aws2/ec2/AWS2EC2HealthCheck.java     |  4 +--
 .../component/aws2/ecs/ECS2ClientHealthCheck.java  |  3 +-
 .../component/aws2/eks/EKS2ClientHealthCheck.java  |  4 +--
 .../eventbridge/EventbridgeClientHealthCheck.java  |  4 +--
 .../camel/component/aws2/iam/IAM2HealthCheck.java  |  4 +--
 .../aws2/kinesis/Kinesis2ConsumerHealthCheck.java  | 33 +++++++++++++---------
 .../aws2/lambda/Lambda2ClientHealthCheck.java      |  4 +--
 .../component/aws2/mq/MQ2ClientHealthCheck.java    |  4 +--
 .../camel/component/aws2/msk/MSK2HealthCheck.java  |  5 +---
 .../aws2/s3/AWS2S3ConsumerHealthCheck.java         |  3 +-
 .../camel/component/aws2/ses/Ses2HealthCheck.java  |  4 +--
 .../camel/component/aws2/sns/Sns2HealthCheck.java  |  5 +---
 .../aws2/sqs/Sqs2ConsumerHealthCheck.java          |  4 +--
 .../translate/Translate2ClientHealthCheck.java     |  4 +--
 19 files changed, 37 insertions(+), 66 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 bf24bdc11b1..fd4a7ecf781 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
@@ -38,7 +38,7 @@ public class CloudtrailConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (CloudTrailClient client = cloudtrailConsumer.getEndpoint().getClient()) {
             CloudtrailConfiguration configuration = cloudtrailConsumer.getEndpoint().getConfiguration();
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!CloudTrailClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
@@ -47,7 +47,6 @@ public class CloudtrailConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-            CloudTrailClient client = cloudtrailConsumer.getEndpoint().getClient();
 
             client.listChannels(ListChannelsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
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 d7197d1f46a..9048a2ea051 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
@@ -46,9 +46,7 @@ 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());
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 b4a489e5c0f..64f33e3345e 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
@@ -39,7 +39,7 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (AthenaClient client = athena2Endpoint.getAthenaClient()) {
             if (ObjectHelper.isNotEmpty(athena2Endpoint.getConfiguration().getRegion())) {
                 if (!AthenaClient.serviceMetadata().regions()
                         .contains(Region.of(athena2Endpoint.getConfiguration().getRegion()))) {
@@ -48,7 +48,6 @@ public class Athena2ClientHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-            AthenaClient client = athena2Endpoint.getAthenaClient();
 
             client.listQueryExecutions(ListQueryExecutionsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
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 addd0f4ced0..c4740931d20 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
@@ -46,9 +46,7 @@ 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());
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 a924a435582..d3990706cd7 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
@@ -46,9 +46,7 @@ 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 9c9b41edcb8..75081511a49 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
@@ -38,7 +38,7 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (Ec2Client client = aws2EC2Endpoint.getEc2Client()) {
             AWS2EC2Configuration configuration = aws2EC2Endpoint.getConfiguration();
             if (!Ec2Client.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
@@ -46,8 +46,6 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            Ec2Client client = aws2EC2Endpoint.getEc2Client();
-
             client.describeInstances();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
diff --git a/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2ClientHealthCheck.java b/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2ClientHealthCheck.java
index 02a0403a8b4..2186c8e4484 100644
--- a/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2ClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-ecs/src/main/java/org/apache/camel/component/aws2/ecs/ECS2ClientHealthCheck.java
@@ -46,8 +46,7 @@ public class ECS2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try {
-            EcsClient ecs2Client = ecs2Endpoint.getEcsClient();
+        try (EcsClient ecs2Client = ecs2Endpoint.getEcsClient()) {
             ecs2Client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
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 a1cedb05727..10768cb8a65 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
@@ -46,9 +46,7 @@ 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());
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 61408d4315b..b7b6e1a42e4 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
@@ -46,9 +46,7 @@ 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());
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 2af399cb35d..272f962ad57 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
@@ -35,7 +35,7 @@ public class IAM2HealthCheck extends AbstractHealthCheck {
 
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
-        try {
+        try (IamClient client = endpoint.getIamClient()) {
             IAM2Configuration configuration = endpoint.getConfiguration();
             if (!IamClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
@@ -43,8 +43,6 @@ public class IAM2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            IamClient client = endpoint.getIamClient();
-
             client.listAccessKeys(ListAccessKeysRequest.builder().maxItems(1).build());
         } catch (SdkClientException e) {
             builder.message(e.getMessage());
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 7ea6919e7f5..60f6d9cb9b5 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
@@ -40,7 +40,7 @@ public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (KinesisClient client = buildClient(kinesis2Consumer.getConfiguration())) {
             Kinesis2Configuration configuration = kinesis2Consumer.getConfiguration();
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!KinesisClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
@@ -49,19 +49,7 @@ public class Kinesis2ConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-            KinesisClient client;
-            if (!configuration.isUseDefaultCredentialsProvider()) {
-                AwsBasicCredentials cred
-                        = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey());
-                KinesisClientBuilder clientBuilder = KinesisClient.builder();
-                client = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                        .region(Region.of(configuration.getRegion())).build();
-            } else if (ObjectHelper.isNotEmpty(configuration.getAmazonKinesisClient())) {
-                client = configuration.getAmazonKinesisClient();
-            } else {
-                KinesisClientBuilder clientBuilder = KinesisClient.builder();
-                client = clientBuilder.region(Region.of(configuration.getRegion())).build();
-            }
+
             client.listStreams();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
@@ -85,4 +73,21 @@ 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 7ea32ef700e..deaf4a23c36 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
@@ -46,9 +46,7 @@ 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());
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 cf4edada117..15a63a2db2f 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
@@ -46,9 +46,7 @@ public class MQ2ClientHealthCheck extends AbstractHealthCheck {
                 return;
             }
         }
-        try {
-            MqClient mqClient = mq2Endpoint.getAmazonMqClient();
-
+        try (MqClient mqClient = mq2Endpoint.getAmazonMqClient()) {
             mqClient.listBrokers(ListBrokersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
diff --git a/components/camel-aws/camel-aws2-msk/src/main/java/org/apache/camel/component/aws2/msk/MSK2HealthCheck.java b/components/camel-aws/camel-aws2-msk/src/main/java/org/apache/camel/component/aws2/msk/MSK2HealthCheck.java
index f5e6feeec63..12cbea20d35 100644
--- a/components/camel-aws/camel-aws2-msk/src/main/java/org/apache/camel/component/aws2/msk/MSK2HealthCheck.java
+++ b/components/camel-aws/camel-aws2-msk/src/main/java/org/apache/camel/component/aws2/msk/MSK2HealthCheck.java
@@ -37,16 +37,13 @@ public class MSK2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (KafkaClient client = msk2Endpoint.getMskClient()) {
             MSK2Configuration configuration = msk2Endpoint.getConfiguration();
             if (!KafkaClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
                 builder.down();
                 return;
             }
-
-            KafkaClient client = msk2Endpoint.getMskClient();
-
             client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
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 e71c8449565..220e63c7de8 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
@@ -38,7 +38,7 @@ public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (S3Client client = aws2S3Consumer.getAmazonS3Client()) {
             AWS2S3Configuration configuration = aws2S3Consumer.getConfiguration();
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!S3Client.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
@@ -47,7 +47,6 @@ public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
                     return;
                 }
             }
-            S3Client client = aws2S3Consumer.getAmazonS3Client();
 
             client.headBucket(HeadBucketRequest.builder().bucket(configuration.getBucketName()).build());
         } catch (AwsServiceException e) {
diff --git a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2HealthCheck.java b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2HealthCheck.java
index b57a0749ffd..34e7154778a 100644
--- a/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2HealthCheck.java
+++ b/components/camel-aws/camel-aws2-ses/src/main/java/org/apache/camel/component/aws2/ses/Ses2HealthCheck.java
@@ -36,15 +36,13 @@ public class Ses2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (SesClient client = ses2Endpoint.getSESClient()) {
             Ses2Configuration configuration = ses2Endpoint.getConfiguration();
             if (!SesClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
                 builder.message("The service is not supported in this region");
                 builder.down();
                 return;
             }
-            SesClient client = ses2Endpoint.getSESClient();
-
             client.getSendStatistics();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
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 fe304e1f115..1c75dd41e46 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
@@ -36,16 +36,13 @@ public class Sns2HealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (SnsClient client = sns2Endpoint.getSNSClient()) {
             Sns2Configuration configuration = sns2Endpoint.getConfiguration();
             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());
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 49bfd0191ca..5b6f433c303 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
@@ -38,7 +38,7 @@ public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
     @Override
     protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
 
-        try {
+        try (SqsClient client = sqs2Consumer.getClient()) {
             Sqs2Configuration configuration = sqs2Consumer.getConfiguration();
             if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
                 if (!SqsClient.serviceMetadata().regions().contains(Region.of(configuration.getRegion()))) {
@@ -48,8 +48,6 @@ public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
                 }
             }
 
-            SqsClient client = sqs2Consumer.getClient();
-
             client.listQueues(ListQueuesRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
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 553922d7e8f..bb3f4764546 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
@@ -46,9 +46,7 @@ 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());