You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zh...@apache.org on 2023/09/26 07:02:37 UTC

[camel-quarkus] 04/06: Add Camel service inclusion pattern for periodic-task

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

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

commit 1bd3fb852326c530deaafb306534e63606dbe977
Author: James Netherton <ja...@gmail.com>
AuthorDate: Mon Sep 25 13:35:18 2023 +0100

    Add Camel service inclusion pattern for periodic-task
    
    Fixes #5343
---
 .../camel/quarkus/core/deployment/CamelProcessor.java       |  3 ++-
 .../aws/secrets/manager/it/AwsSecretsManagerResource.java   | 13 +++++++++++++
 .../aws/secrets/manager/it/AwsSecretsManagerTest.java       |  7 +++++++
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
index 38de8686c4..e354d2a428 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelProcessor.java
@@ -173,7 +173,8 @@ class CamelProcessor {
                 "META-INF/services/org/apache/camel/send-dynamic/*",
                 "META-INF/services/org/apache/camel/urifactory/*",
                 "META-INF/services/org/apache/camel/properties-function/*",
-                "META-INF/services/org/apache/camel/health-check/*"));
+                "META-INF/services/org/apache/camel/health-check/*",
+                "META-INF/services/org/apache/camel/periodic-task/*"));
     }
 
     @BuildStep
diff --git a/integration-tests-jvm/aws-secrets-manager/src/main/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerResource.java b/integration-tests-jvm/aws-secrets-manager/src/main/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerResource.java
index 3347c8b103..09ce162bab 100644
--- a/integration-tests-jvm/aws-secrets-manager/src/main/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerResource.java
+++ b/integration-tests-jvm/aws-secrets-manager/src/main/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerResource.java
@@ -18,11 +18,13 @@ package org.apache.camel.quarkus.component.aws.secrets.manager.it;
 
 import java.net.URI;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
 import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
 import jakarta.ws.rs.POST;
 import jakarta.ws.rs.Path;
 import jakarta.ws.rs.PathParam;
@@ -34,6 +36,8 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.aws.secretsmanager.SecretsManagerOperations;
+import org.apache.camel.spi.PeriodTaskResolver;
+import org.apache.camel.support.PluginHelper;
 import org.apache.camel.util.CollectionHelper;
 import org.jboss.logging.Logger;
 import software.amazon.awssdk.services.secretsmanager.model.CreateSecretResponse;
@@ -111,4 +115,13 @@ public class AwsSecretsManagerResource {
 
         return Response.created(new URI("https://camel.apache.org/")).entity(result).build();
     }
+
+    @Path("/period/task/resolver/exists")
+    @GET
+    @Produces(MediaType.TEXT_PLAIN)
+    public boolean awsSecretRefreshPeriodicTaskExists() {
+        PeriodTaskResolver periodTaskResolver = PluginHelper.getPeriodTaskResolver(context);
+        Objects.requireNonNull(periodTaskResolver, "Expected a PeriodTaskResolver to be configured");
+        return periodTaskResolver.newInstance("aws-secret-refresh", Runnable.class).isPresent();
+    }
 }
diff --git a/integration-tests-jvm/aws-secrets-manager/src/test/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerTest.java b/integration-tests-jvm/aws-secrets-manager/src/test/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerTest.java
index d4a9ce8cc7..d0e37766d4 100644
--- a/integration-tests-jvm/aws-secrets-manager/src/test/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerTest.java
+++ b/integration-tests-jvm/aws-secrets-manager/src/test/java/org/apache/camel/quarkus/component/aws/secrets/manager/it/AwsSecretsManagerTest.java
@@ -184,4 +184,11 @@ class AwsSecretsManagerTest {
         //                .body(is("true"));
     }
 
+    @Test
+    public void testAwsSecretRefreshPeriodicTaskExists() {
+        RestAssured.get("/aws-secrets-manager/period/task/resolver/exists")
+                .then()
+                .statusCode(200)
+                .body(is("true"));
+    }
 }