This is an automated email from the ASF dual-hosted git repository.
gnodet 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 85d2642b39c1 CAMEL-24017: Fix flaky DynamicRouteIT (#24617)
85d2642b39c1 is described below
commit 85d2642b39c127ead1538b18cc25d5114bfa1f1f
Author: Guillaume Nodet <[email protected]>
AuthorDate: Sun Jul 12 09:44:20 2026 +0200
CAMEL-24017: Fix flaky DynamicRouteIT (#24617)
CAMEL-24017: Fix flaky DynamicRouteIT
Add JMS consumer route startup wait and rename generic queue names to
test-specific names to prevent cross-test interference.
Co-authored-by: Claude Opus 4.6 <[email protected]>
---
.../camel/component/jms/integration/DynamicRouteIT.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/DynamicRouteIT.java
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/DynamicRouteIT.java
index cb5db176a426..d9fc81863ce7 100644
---
a/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/DynamicRouteIT.java
+++
b/components/camel-jms/src/test/java/org/apache/camel/component/jms/integration/DynamicRouteIT.java
@@ -17,11 +17,13 @@
package org.apache.camel.component.jms.integration;
import org.apache.camel.BindToRegistry;
+import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Header;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.AbstractJMSTest;
+import org.apache.camel.component.jms.JmsTestHelper;
import org.apache.camel.test.infra.core.CamelContextExtension;
import org.apache.camel.test.infra.core.DefaultCamelContextExtension;
import org.junit.jupiter.api.BeforeEach;
@@ -40,14 +42,18 @@ public class DynamicRouteIT extends AbstractJMSTest {
private final MyBean myBean = new MyBean();
private final String componentName = "jms";
protected ProducerTemplate template;
+ protected CamelContext context;
@Test
void testDynamicRouteWithJms() {
- String response =
template.requestBody("jms:queue:request?replyTo=bar", "foo", String.class);
+ // Wait for the JMS consumer to be fully subscribed to the broker
+ JmsTestHelper.waitForJmsConsumerRoutes(context, "jmsConsumer");
+
+ String response
+ =
template.requestBody("jms:queue:DynamicRouteIT.request?replyTo=DynamicRouteIT.reply",
"foo", String.class);
assertEquals("response is foo", response);
- response = template.requestBody("jms:queue:request", "bar",
String.class);
+ response = template.requestBody("jms:queue:DynamicRouteIT.request",
"bar", String.class);
assertEquals("response is bar", response);
-
}
@Test
@@ -63,7 +69,7 @@ public class DynamicRouteIT extends AbstractJMSTest {
return new RouteBuilder() {
public void configure() {
- from("jms:queue:request")
+ from("jms:queue:DynamicRouteIT.request").routeId("jmsConsumer")
.dynamicRouter().method(MyDynamicRouter.class,
"route");
from("direct:start")
.dynamicRouter(method(new MyDynamicRouter()));
@@ -107,6 +113,7 @@ public class DynamicRouteIT extends AbstractJMSTest {
@BeforeEach
void setUpRequirements() {
+ context = camelContextExtension.getContext();
template = camelContextExtension.getProducerTemplate();
}