You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/08/07 07:03:14 UTC

[camel-quarkus] 03/06: Fixed aws2-kinesis - https://github.com/apache/camel/pull/10919

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

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

commit a215751476d05c9b220d178b873c56df9d19d4f8
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Tue Aug 1 15:05:20 2023 +0200

    Fixed aws2-kinesis - https://github.com/apache/camel/pull/10919
---
 .../component/aws2/kinesis/it/Aws2KinesisResource.java    | 15 +++++++++++++++
 .../camel/quarkus/test/support/aws2/BaseAws2Resource.java | 10 ++++++++++
 2 files changed, 25 insertions(+)

diff --git a/integration-test-groups/aws2/aws2-kinesis/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisResource.java b/integration-test-groups/aws2/aws2-kinesis/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisResource.java
index fdbeeff70a..6a755e9168 100644
--- a/integration-test-groups/aws2/aws2-kinesis/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisResource.java
+++ b/integration-test-groups/aws2/aws2-kinesis/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/it/Aws2KinesisResource.java
@@ -30,8 +30,11 @@ import jakarta.ws.rs.Path;
 import jakarta.ws.rs.Produces;
 import jakarta.ws.rs.core.MediaType;
 import jakarta.ws.rs.core.Response;
+import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.aws2.kinesis.Kinesis2Component;
 import org.apache.camel.component.aws2.kinesis.Kinesis2Constants;
+import org.apache.camel.component.aws2.kinesis.KinesisConnection;
 import org.apache.camel.quarkus.test.support.aws2.BaseAws2Resource;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.logging.Logger;
@@ -51,6 +54,9 @@ public class Aws2KinesisResource extends BaseAws2Resource {
     @Inject
     ProducerTemplate producerTemplate;
 
+    @Inject
+    CamelContext camelContext;
+
     @Inject
     @Named("aws2KinesisMessages")
     Queue<String> aws2KinesisMessages;
@@ -88,4 +94,13 @@ public class Aws2KinesisResource extends BaseAws2Resource {
                 + "?useDefaultCredentialsProvider=" + isUseDefaultCredentials();
     }
 
+    @Override
+    protected void onDefaultCredentialsProviderChange() throws Exception {
+        //reset connection, because irt is cached since https://github.com/apache/camel/pull/10919
+        KinesisConnection kc = camelContext.getRegistry().findSingleByType(Kinesis2Component.class).getConnection();
+        kc.close();
+        kc.setKinesisAsyncClient(null);
+        kc.setKinesisClient(null);
+        super.onDefaultCredentialsProviderChange();
+    }
 }
diff --git a/integration-tests-support/aws2/src/main/java/org/apache/camel/quarkus/test/support/aws2/BaseAws2Resource.java b/integration-tests-support/aws2/src/main/java/org/apache/camel/quarkus/test/support/aws2/BaseAws2Resource.java
index 2108ab27f9..14c3f3f636 100644
--- a/integration-tests-support/aws2/src/main/java/org/apache/camel/quarkus/test/support/aws2/BaseAws2Resource.java
+++ b/integration-tests-support/aws2/src/main/java/org/apache/camel/quarkus/test/support/aws2/BaseAws2Resource.java
@@ -52,6 +52,9 @@ public class BaseAws2Resource {
     @POST
     public Response setUseDefaultCredentials(boolean useDefaultCredentialsProvider) throws Exception {
         this.useDefaultCredentials = useDefaultCredentialsProvider;
+        //call listener
+        onDefaultCredentialsProviderChange();
+
         return Response.ok().build();
     }
 
@@ -92,4 +95,11 @@ public class BaseAws2Resource {
     public boolean isUseDefaultCredentials() {
         return useDefaultCredentials;
     }
+
+    /**
+     * Different aws2 extension might need to react to initialization of default credentials (e.g. kinesis)
+     */
+    protected void onDefaultCredentialsProviderChange() throws Exception {
+
+    }
 }