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/03 07:44:39 UTC
[camel-quarkus] 03/04: 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 01d55a079640aa1b0833214e2ed2ef1e46a9bfed
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 {
+
+ }
}