This is an automated email from the ASF dual-hosted git repository. zhfeng pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new fa091160a8 Fix intermittent failure of QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest (#5530) fa091160a8 is described below commit fa091160a8889fc220ffdfdf23b786323e5c08a1 Author: James Netherton <jamesnether...@users.noreply.github.com> AuthorDate: Wed Nov 22 00:01:42 2023 +0000 Fix intermittent failure of QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest (#5530) Fixes #5497 --- ...kusSchedulerAutowiredWithSchedulerBeanTest.java | 28 +++++++++------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/extensions/quartz/deployment/src/test/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest.java b/extensions/quartz/deployment/src/test/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest.java index 0c4de8a6ab..20111e4b87 100644 --- a/extensions/quartz/deployment/src/test/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest.java +++ b/extensions/quartz/deployment/src/test/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest.java @@ -16,6 +16,9 @@ */ package org.apache.camel.quarkus.component.quartz.deployment; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + import io.quarkus.scheduler.Scheduled; import io.quarkus.test.QuarkusUnitTest; import jakarta.enterprise.context.ApplicationScoped; @@ -23,7 +26,6 @@ import jakarta.inject.Inject; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.quartz.QuartzComponent; -import org.jboss.logging.Logger; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.jupiter.api.Test; @@ -36,45 +38,37 @@ public class QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest { @RegisterExtension static final QuarkusUnitTest CONFIG = new QuarkusUnitTest() - .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)) - .setLogRecordPredicate(logRecord -> logRecord.getMessage().contains("Scheduled Job")) - .assertLogRecords(logRecords -> { - boolean quarkusScheduledJobRan = logRecords.stream() - .anyMatch(logRecord -> logRecord.getMessage().startsWith("Quarkus Scheduled")); - boolean camelScheduledJobRan = logRecords.stream() - .anyMatch(logRecord -> logRecord.getMessage().startsWith("Camel Scheduled")); - assertTrue(quarkusScheduledJobRan); - assertTrue(camelScheduledJobRan); - }); + .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)); @Inject CamelContext context; + private static final CountDownLatch quarkusQuartzLatch = new CountDownLatch(1); + private static final CountDownLatch camelQuartzLatch = new CountDownLatch(1); + @Test public void testQuarkusSchedulerAutowired() throws Exception { QuartzComponent component = context.getComponent("quartz", QuartzComponent.class); assertEquals("QuarkusQuartzScheduler", component.getScheduler().getSchedulerName()); + assertTrue(quarkusQuartzLatch.await(10, TimeUnit.SECONDS)); + assertTrue(camelQuartzLatch.await(10, TimeUnit.SECONDS)); } @ApplicationScoped static final class SchedulerBean { - private static final Logger LOG = Logger.getLogger(SchedulerBean.class); - @Scheduled(every = "1s", concurrentExecution = Scheduled.ConcurrentExecution.SKIP) public void scheduledQuarkusJob() { - LOG.info("Quarkus Scheduled Job"); + quarkusQuartzLatch.countDown(); } } @ApplicationScoped static final class Routes extends RouteBuilder { - private static final Logger LOG = Logger.getLogger(Routes.class); - @Override public void configure() throws Exception { from("quartz://scheduledCamelJob?cron=0/1+*+*+*+*+?") .process(exchange -> { - LOG.info("Camel Scheduled Job"); + camelQuartzLatch.countDown(); }); } }