This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 f901a8c909a4 CAMEL-25972: camel-controlbus - stats of a route that
does not exist gives Cannot lookup route (#28790)
f901a8c909a4 is described below
commit f901a8c909a4e9a4c591cf8ad2cb5ed074821b79
Author: Urmila Unni <[email protected]>
AuthorDate: Sun Nov 1 13:50:25 2026 +0530
CAMEL-25972: camel-controlbus - stats of a route that does not exist gives
Cannot lookup route (#28790)
Co-authored-by: Claude <[email protected]>
---
.../org/apache/camel/component/controlbus/ControlBusProducer.java | 7 +++++--
.../apache/camel/component/controlbus/ControlBusStatsTest.java | 8 ++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git
a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
index 34d0807f8a5a..f9d71556f355 100644
---
a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
+++
b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
@@ -210,8 +210,11 @@ public class ControlBusProducer extends
DefaultAsyncProducer {
operation = "dumpRoutesStatsAsXml";
} else {
Route route = getEndpoint().getCamelContext().getRoute(id);
- on =
getEndpoint().getCamelContext().getManagementStrategy().getManagementObjectNameStrategy()
- .getObjectNameForRoute(route);
+ // a route that does not exist has no MBean, so give the
"Cannot lookup route" text below
+ on = route != null
+ ?
getEndpoint().getCamelContext().getManagementStrategy().getManagementObjectNameStrategy()
+ .getObjectNameForRoute(route)
+ : null;
operation = "dumpRouteStatsAsXml";
}
if (on != null) {
diff --git
a/core/camel-management/src/test/java/org/apache/camel/component/controlbus/ControlBusStatsTest.java
b/core/camel-management/src/test/java/org/apache/camel/component/controlbus/ControlBusStatsTest.java
index e4cfe0bced0d..cf0119028dfb 100644
---
a/core/camel-management/src/test/java/org/apache/camel/component/controlbus/ControlBusStatsTest.java
+++
b/core/camel-management/src/test/java/org/apache/camel/component/controlbus/ControlBusStatsTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -89,6 +90,13 @@ public class ControlBusStatsTest extends ContextTestSupport {
assertTrue(xml.contains("exchangesCompleted=\"1\""));
}
+ @Test
+ public void testControlBusRouteStatUnknownRoute() {
+ // a route that does not exist gives a message instead of a
NullPointerException that leaves the body as it was
+ String body =
template.requestBody("controlbus:route?routeId=unknown&action=stats", "Hello
World", String.class);
+ assertEquals("Cannot lookup route with id unknown", body);
+ }
+
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {