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

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


The following commit(s) were added to refs/heads/main by this push:
     new b1a6bd5c908 CAMEL-18912: Reuse client from consumer (#9086)
b1a6bd5c908 is described below

commit b1a6bd5c908abe178b0626c9a6a1d447e298e84e
Author: Simon Rasmussen <[email protected]>
AuthorDate: Sat Jan 14 18:31:40 2023 +0100

    CAMEL-18912: Reuse client from consumer (#9086)
    
    * CAMEL-18912: sqs - use client from consumer
    
    Before this change, autowired clients would fail to be detected.
    
    Also small optimization added by only requesting a single queue when
    listing the queues.
    
    * CAMEL-18912: athena - use client from endpoint
    
    * CAMEL-18912: cloudwatch - use client from endpoint
    
    * CAMEL-18912: dynamodb - use client from endpoint
    
    * CAMEL-18912: ec2 - use client from endpoint
    
    * CAMEL-18912: ses - use client from endpoint
    
    * CAMEL-18912: ecs - use client from endpoint
    
    * CAMEL-18912: eks - use client from endpoint
    
    * CAMEL-18912: iam - use client from endpoint
    
    * CAMEL-18912: msk - use client from endpoint
    
    * CAMEL-18912: s3 - use client from endpoint
    
    * CAMEL-18912: sns - use client from endpoint
---
 .../aws2/athena/Athena2ClientHealthCheck.java      |  21 +---
 .../component/aws2/cw/Cw2ClientHealthCheck.java    |   7 +-
 .../component/aws2/ddb/Ddb2ClientHealthCheck.java  |   8 +-
 .../ddbstream/Ddb2StreamConsumerHealthCheck.java   |  21 +---
 .../component/aws2/ec2/AWS2EC2HealthCheck.java     |   4 +-
 .../component/aws2/ecs/ECS2ClientHealthCheck.java  |   6 +-
 .../component/aws2/eks/EKS2ClientHealthCheck.java  |   7 +-
 .../camel/component/aws2/iam/IAM2Endpoint.java     |   1 -
 .../aws2/iam/{client => }/IAM2HealthCheck.java     |  10 +-
 .../camel/component/aws2/msk/MSK2HealthCheck.java  |   7 +-
 .../aws2/s3/AWS2S3ConsumerHealthCheck.java         |  18 +---
 .../s3/AWS2S3ConsumerHealthCustomClientTest.java   | 106 ---------------------
 .../camel/component/aws2/ses/Ses2HealthCheck.java  |   6 +-
 .../camel/component/aws2/sns/Sns2HealthCheck.java  |   5 +-
 .../aws2/sqs/Sqs2ConsumerHealthCheck.java          |  22 +----
 15 files changed, 39 insertions(+), 210 deletions(-)

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 e1ffc12af37..56437e3eeb0 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
@@ -22,12 +22,10 @@ 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.athena.AthenaClient;
-import software.amazon.awssdk.services.athena.AthenaClientBuilder;
+import software.amazon.awssdk.services.athena.model.ListQueryExecutionsRequest;
 
 public class Athena2ClientHealthCheck extends AbstractHealthCheck {
 
@@ -56,20 +54,9 @@ public class Athena2ClientHealthCheck extends 
AbstractHealthCheck {
                     return;
                 }
             }
-            AthenaClient client;
-            if 
(Boolean.FALSE.equals(athena2Endpoint.getConfiguration().isUseDefaultCredentialsProvider()))
 {
-                AwsBasicCredentials cred = 
AwsBasicCredentials.create(athena2Endpoint.getConfiguration().getAccessKey(),
-                        athena2Endpoint.getConfiguration().getSecretKey());
-                AthenaClientBuilder clientBuilder = AthenaClient.builder();
-                client = 
clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                        
.region(Region.of(athena2Endpoint.getConfiguration().getRegion())).build();
-            } else if 
(ObjectHelper.isNotEmpty(athena2Endpoint.getConfiguration().getAmazonAthenaClient()))
 {
-                client = 
athena2Endpoint.getConfiguration().getAmazonAthenaClient();
-            } else {
-                AthenaClientBuilder clientBuilder = AthenaClient.builder();
-                client = 
clientBuilder.region(Region.of(athena2Endpoint.getConfiguration().getRegion())).build();
-            }
-            client.listQueryExecutions();
+            AthenaClient client = athena2Endpoint.getAthenaClient();
+
+            
client.listQueryExecutions(ListQueryExecutionsRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(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 7971130fe94..a3168da2edd 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
@@ -19,8 +19,6 @@ package org.apache.camel.component.aws2.cw;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.cw.client.Cw2ClientFactory;
-import org.apache.camel.component.aws2.cw.client.Cw2InternalClient;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
@@ -55,8 +53,9 @@ public class Cw2ClientHealthCheck extends AbstractHealthCheck 
{
             }
         }
         try {
-            Cw2InternalClient cw2Client = 
Cw2ClientFactory.getCloudWatchClient(configuration);
-            
cw2Client.getCloudWatchClient().listDashboards(ListDashboardsRequest.builder().build());
+            CloudWatchClient cw2Client = cw2Endpoint.getCloudWatchClient();
+
+            cw2Client.listDashboards(ListDashboardsRequest.builder().build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 29acae06614..1320e22bc3b 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
@@ -19,14 +19,13 @@ package org.apache.camel.component.aws2.ddb;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.ddb.client.Ddb2ClientFactory;
-import org.apache.camel.component.aws2.ddb.client.Ddb2InternalClient;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
 import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
+import software.amazon.awssdk.services.dynamodb.model.ListTablesRequest;
 
 public class Ddb2ClientHealthCheck extends AbstractHealthCheck {
 
@@ -54,8 +53,9 @@ public class Ddb2ClientHealthCheck extends 
AbstractHealthCheck {
             }
         }
         try {
-            Ddb2InternalClient ddb2Client = 
Ddb2ClientFactory.getDynamoDBClient(configuration);
-            ddb2Client.getDynamoDBClient().listTables();
+            DynamoDbClient ddbClient = ddb2Endpoint.getDdbClient();
+
+            ddbClient.listTables(ListTablesRequest.builder().limit(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheck.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheck.java
index 517c24e200f..56ec031e3d7 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheck.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumerHealthCheck.java
@@ -21,12 +21,10 @@ 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.dynamodb.model.ListStreamsRequest;
 import software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient;
-import 
software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClientBuilder;
 
 public class Ddb2StreamConsumerHealthCheck extends AbstractHealthCheck {
 
@@ -55,20 +53,9 @@ public class Ddb2StreamConsumerHealthCheck extends 
AbstractHealthCheck {
                     return;
                 }
             }
-            DynamoDbStreamsClient client;
-            if 
(Boolean.FALSE.equals(configuration.isUseDefaultCredentialsProvider())) {
-                AwsBasicCredentials cred
-                        = 
AwsBasicCredentials.create(configuration.getAccessKey(), 
configuration.getSecretKey());
-                DynamoDbStreamsClientBuilder clientBuilder = 
DynamoDbStreamsClient.builder();
-                client = 
clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                        .region(Region.of(configuration.getRegion())).build();
-            } else if 
(ObjectHelper.isNotEmpty(configuration.getAmazonDynamoDbStreamsClient())) {
-                client = configuration.getAmazonDynamoDbStreamsClient();
-            } else {
-                DynamoDbStreamsClientBuilder clientBuilder = 
DynamoDbStreamsClient.builder();
-                client = 
clientBuilder.region(Region.of(configuration.getRegion())).build();
-            }
-            client.listStreams();
+            DynamoDbStreamsClient client = 
ddb2StreamConsumer.getEndpoint().getClient();
+
+            client.listStreams(ListStreamsRequest.builder().limit(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 a3c2770dd01..3d76cbf8137 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
@@ -19,7 +19,6 @@ package org.apache.camel.component.aws2.ec2;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.ec2.client.AWS2EC2ClientFactory;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
@@ -53,7 +52,8 @@ public class AWS2EC2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            Ec2Client client = 
AWS2EC2ClientFactory.getEc2Client(configuration).getEc2Client();
+            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 1f77fd45acd..edce0862cd3 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
@@ -19,8 +19,6 @@ package org.apache.camel.component.aws2.ecs;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.ecs.client.ECS2ClientFactory;
-import org.apache.camel.component.aws2.ecs.client.ECS2InternalClient;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
@@ -55,8 +53,8 @@ public class ECS2ClientHealthCheck extends 
AbstractHealthCheck {
             }
         }
         try {
-            ECS2InternalClient ecs2Client = 
ECS2ClientFactory.getEcsClient(configuration);
-            
ecs2Client.getEcsClient().listClusters(ListClustersRequest.builder().build());
+            EcsClient ecs2Client = ecs2Endpoint.getEcsClient();
+            
ecs2Client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 84e510c0a93..7d0acd7d05a 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
@@ -19,8 +19,6 @@ package org.apache.camel.component.aws2.eks;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.eks.client.EKS2ClientFactory;
-import org.apache.camel.component.aws2.eks.client.EKS2InternalClient;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import org.apache.camel.util.ObjectHelper;
@@ -55,8 +53,9 @@ public class EKS2ClientHealthCheck extends 
AbstractHealthCheck {
             }
         }
         try {
-            EKS2InternalClient eks2Client = 
EKS2ClientFactory.getEksClient(configuration);
-            
eks2Client.getEksClient().listClusters(ListClustersRequest.builder().build());
+            EksClient eks2Client = eks2Endpoint.getEksClient();
+
+            
eks2Client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
diff --git 
a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Endpoint.java
 
b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Endpoint.java
index 27ab8f8a12f..638a7ebcde1 100644
--- 
a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Endpoint.java
+++ 
b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2Endpoint.java
@@ -22,7 +22,6 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.aws2.iam.client.IAM2ClientFactory;
-import org.apache.camel.component.aws2.iam.client.IAM2HealthCheck;
 import org.apache.camel.health.HealthCheckHelper;
 import org.apache.camel.impl.health.ComponentsHealthCheckRepository;
 import org.apache.camel.spi.UriEndpoint;
diff --git 
a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/client/IAM2HealthCheck.java
 
b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
similarity index 88%
rename from 
components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/client/IAM2HealthCheck.java
rename to 
components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
index 0443ec5e68a..31aea3a3359 100644
--- 
a/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/client/IAM2HealthCheck.java
+++ 
b/components/camel-aws/camel-aws2-iam/src/main/java/org/apache/camel/component/aws2/iam/IAM2HealthCheck.java
@@ -14,17 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.aws2.iam.client;
+package org.apache.camel.component.aws2.iam;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.iam.IAM2Configuration;
-import org.apache.camel.component.aws2.iam.IAM2Endpoint;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import software.amazon.awssdk.core.exception.SdkClientException;
 import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.iam.IamClient;
+import software.amazon.awssdk.services.iam.model.ListAccessKeysRequest;
 
 public class IAM2HealthCheck extends AbstractHealthCheck {
     private final IAM2Endpoint endpoint;
@@ -50,8 +49,9 @@ public class IAM2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            IamClient client = 
IAM2ClientFactory.getIamClient(configuration).getIamClient();
-            client.listAccessKeys();
+            IamClient client = endpoint.getIamClient();
+
+            
client.listAccessKeys(ListAccessKeysRequest.builder().maxItems(1).build());
         } catch (SdkClientException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 4dc5ba55426..1a4a8a2b8cb 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
@@ -18,7 +18,6 @@ package org.apache.camel.component.aws2.msk;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.msk.client.MSK2ClientFactory;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
@@ -29,12 +28,10 @@ import 
software.amazon.awssdk.services.kafka.model.ListClustersRequest;
 public class MSK2HealthCheck extends AbstractHealthCheck {
 
     private final MSK2Endpoint msk2Endpoint;
-    private final String clientId;
 
     public MSK2HealthCheck(MSK2Endpoint msk2Endpoint, String clientId) {
         super("camel", "aws2-msk-client-" + clientId);
         this.msk2Endpoint = msk2Endpoint;
-        this.clientId = clientId;
     }
 
     @Override
@@ -54,9 +51,9 @@ public class MSK2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            KafkaClient client = 
MSK2ClientFactory.getKafkaClient(configuration).getKafkaClient();
-            client.listClusters(ListClustersRequest.builder().build());
+            KafkaClient client = msk2Endpoint.getMskClient();
 
+            
client.listClusters(ListClustersRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 e15420ef20e..7742c6fbc87 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
@@ -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.s3.S3Client;
-import software.amazon.awssdk.services.s3.S3ClientBuilder;
 import software.amazon.awssdk.services.s3.model.HeadBucketRequest;
 
 public class AWS2S3ConsumerHealthCheck extends AbstractHealthCheck {
@@ -56,19 +53,8 @@ public class AWS2S3ConsumerHealthCheck extends 
AbstractHealthCheck {
                     return;
                 }
             }
-            S3Client client;
-            if 
(Boolean.FALSE.equals(configuration.isUseDefaultCredentialsProvider())) {
-                AwsBasicCredentials cred
-                        = 
AwsBasicCredentials.create(configuration.getAccessKey(), 
configuration.getSecretKey());
-                S3ClientBuilder clientBuilder = S3Client.builder();
-                client = 
clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                        .region(Region.of(configuration.getRegion())).build();
-            } else if 
(ObjectHelper.isNotEmpty(configuration.getAmazonS3Client())) {
-                client = configuration.getAmazonS3Client();
-            } else {
-                S3ClientBuilder clientBuilder = S3Client.builder();
-                client = 
clientBuilder.region(Region.of(configuration.getRegion())).build();
-            }
+            S3Client client = aws2S3Consumer.getAmazonS3Client();
+
             
client.headBucket(HeadBucketRequest.builder().bucket(configuration.getBucketName()).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
diff --git 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCustomClientTest.java
 
b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCustomClientTest.java
deleted file mode 100644
index 0d2032b1162..00000000000
--- 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/AWS2S3ConsumerHealthCustomClientTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws2.s3;
-
-import java.util.Collection;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.health.HealthCheck;
-import org.apache.camel.health.HealthCheckHelper;
-import org.apache.camel.health.HealthCheckRegistry;
-import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
-import org.apache.camel.test.infra.aws.common.services.AWSService;
-import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils;
-import org.apache.camel.test.infra.aws2.services.AWSServiceFactory;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
-
-public class AWS2S3ConsumerHealthCustomClientTest extends CamelTestSupport {
-
-    @RegisterExtension
-    public static AWSService service = AWSServiceFactory.createS3Service();
-
-    private static final Logger LOG = 
LoggerFactory.getLogger(AWS2S3ConsumerHealthCustomClientTest.class);
-
-    CamelContext context;
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        context = super.createCamelContext();
-        context.getPropertiesComponent().setLocation("ref:prop");
-        AWS2S3Component component = new AWS2S3Component(context);
-        
component.getConfiguration().setAmazonS3Client(AWSSDKClientUtils.newS3Client());
-        component.init();
-        context.addComponent("aws2-s3", component);
-
-        HealthCheckRegistry registry = new DefaultHealthCheckRegistry();
-        registry.setCamelContext(context);
-        Object hc = registry.resolveById("context");
-        registry.register(hc);
-        hc = registry.resolveById("routes");
-        registry.register(hc);
-        hc = registry.resolveById("consumers");
-        registry.register(hc);
-        context.setExtension(HealthCheckRegistry.class, registry);
-
-        return context;
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() {
-                
from("aws2-s3://bucket1?moveAfterRead=true&destinationBucket=bucket1&autoCreateBucket=true")
-                        
.startupOrder(2).log("${body}").routeId("test-health-it");
-            }
-        };
-    }
-
-    @Test
-    public void testConnectivity() {
-
-        Collection<HealthCheck.Result> res = 
HealthCheckHelper.invokeLiveness(context);
-        boolean up = res.stream().allMatch(r -> 
r.getState().equals(HealthCheck.State.UP));
-        Assertions.assertTrue(up, "liveness check");
-
-        // health-check readiness should be down
-        await().atMost(20, TimeUnit.SECONDS).untilAsserted(() -> {
-            Collection<HealthCheck.Result> res2 = 
HealthCheckHelper.invokeReadiness(context);
-            boolean down = res2.stream().allMatch(r -> 
r.getState().equals(HealthCheck.State.DOWN));
-            boolean containsAws2S3HealthCheck = res2.stream()
-                    .filter(result -> 
result.getCheck().getId().startsWith("aws2-s3-consumer"))
-                    .findAny()
-                    .isPresent();
-            boolean hasRegionMessage = res2.stream()
-                    .anyMatch(r -> r.getMessage().stream().anyMatch(msg -> 
msg.contains("region")));
-            Assertions.assertTrue(down, "liveness check");
-            Assertions.assertTrue(containsAws2S3HealthCheck, "aws2-s3 check");
-            Assertions.assertFalse(hasRegionMessage, "aws2-s3 check error 
message");
-        });
-
-    }
-}
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 e449af06db5..8e94784b320 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
@@ -18,7 +18,6 @@ package org.apache.camel.component.aws2.ses;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.ses.client.Ses2ClientFactory;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
@@ -28,12 +27,10 @@ import software.amazon.awssdk.services.ses.SesClient;
 public class Ses2HealthCheck extends AbstractHealthCheck {
 
     private final Ses2Endpoint ses2Endpoint;
-    private final String clientId;
 
     public Ses2HealthCheck(Ses2Endpoint ses2Endpoint, String clientId) {
         super("camel", "aws2-ses-client-" + clientId);
         this.ses2Endpoint = ses2Endpoint;
-        this.clientId = clientId;
     }
 
     @Override
@@ -52,10 +49,9 @@ public class Ses2HealthCheck extends AbstractHealthCheck {
                 builder.down();
                 return;
             }
+            SesClient client = ses2Endpoint.getSESClient();
 
-            SesClient client = 
Ses2ClientFactory.getSesClient(configuration).getSesClient();
             client.getSendStatistics();
-
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 6110aaea116..769b6e3d51f 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
@@ -18,7 +18,6 @@ package org.apache.camel.component.aws2.sns;
 
 import java.util.Map;
 
-import org.apache.camel.component.aws2.sns.client.Sns2ClientFactory;
 import org.apache.camel.health.HealthCheckResultBuilder;
 import org.apache.camel.impl.health.AbstractHealthCheck;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
@@ -51,9 +50,9 @@ public class Sns2HealthCheck extends AbstractHealthCheck {
                 return;
             }
 
-            SnsClient client = 
Sns2ClientFactory.getSnsClient(configuration).getSNSClient();
-            client.listSubscriptions();
+            SnsClient client = sns2Endpoint.getSNSClient();
 
+            client.listSubscriptions();
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);
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 5b2cce5d25a..baf74f4c20d 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
@@ -21,12 +21,10 @@ 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.sqs.SqsClient;
-import software.amazon.awssdk.services.sqs.SqsClientBuilder;
+import software.amazon.awssdk.services.sqs.model.ListQueuesRequest;
 
 public class Sqs2ConsumerHealthCheck extends AbstractHealthCheck {
 
@@ -55,20 +53,10 @@ public class Sqs2ConsumerHealthCheck extends 
AbstractHealthCheck {
                     return;
                 }
             }
-            SqsClient client;
-            if (!configuration.isUseDefaultCredentialsProvider()) {
-                AwsBasicCredentials cred
-                        = 
AwsBasicCredentials.create(configuration.getAccessKey(), 
configuration.getSecretKey());
-                SqsClientBuilder clientBuilder = SqsClient.builder();
-                client = 
clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred))
-                        .region(Region.of(configuration.getRegion())).build();
-            } else if 
(ObjectHelper.isNotEmpty(configuration.getAmazonSQSClient())) {
-                client = configuration.getAmazonSQSClient();
-            } else {
-                SqsClientBuilder clientBuilder = SqsClient.builder();
-                client = 
clientBuilder.region(Region.of(configuration.getRegion())).build();
-            }
-            client.listQueues();
+
+            SqsClient client = sqs2Consumer.getClient();
+
+            
client.listQueues(ListQueuesRequest.builder().maxResults(1).build());
         } catch (AwsServiceException e) {
             builder.message(e.getMessage());
             builder.error(e);

Reply via email to