You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/12/30 08:56:37 UTC
[camel] branch master updated: CAMEL-14339: JMX - ManagedProducer -
should have routeId
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new db45477 CAMEL-14339: JMX - ManagedProducer - should have routeId
db45477 is described below
commit db45477ada2aa03865df84dd7d78a85990197b16
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Dec 30 09:56:13 2019 +0100
CAMEL-14339: JMX - ManagedProducer - should have routeId
---
.../org/apache/camel/impl/engine/AbstractCamelContext.java | 13 ++++++++++---
.../camel/management/ManagedUnregisterProducerTest.java | 6 +++---
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index d309ada..17a3f2e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -190,6 +190,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
private volatile boolean firstStartDone;
private volatile boolean doNotStartRoutesOnFirstStart;
private final ThreadLocal<Boolean> isStartingRoutes = new ThreadLocal<>();
+ private final ThreadLocal<Route> setupRoute = new ThreadLocal<>();
private final ThreadLocal<Boolean> isSetupRoutes = new ThreadLocal<>();
private Initialization initialization = Initialization.Default;
private Boolean autoStartup = Boolean.TRUE;
@@ -1372,7 +1373,8 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
// use specialized endpoint add
strategy.onEndpointAdd((Endpoint)service);
} else {
- strategy.onServiceAdd(this, service, null);
+ Route route = setupRoute.get();
+ strategy.onServiceAdd(this, service, route);
}
}
@@ -3140,8 +3142,13 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
// will then be prepared in time before we start inputs which will
// consume messages to be routed
BaseRouteService routeService = entry.getValue().getRouteService();
- log.debug("Warming up route id: {} having autoStartup={}", routeService.getId(), autoStartup);
- routeService.warmUp();
+ try {
+ log.debug("Warming up route id: {} having autoStartup={}", routeService.getId(), autoStartup);
+ setupRoute.set(routeService.getRoute());
+ routeService.warmUp();
+ } finally {
+ setupRoute.remove();
+ }
}
}
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedUnregisterProducerTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedUnregisterProducerTest.java
index afa4c6d..df372e2 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedUnregisterProducerTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedUnregisterProducerTest.java
@@ -48,9 +48,9 @@ public class ManagedUnregisterProducerTest extends ManagementTestSupport {
String uri = (String) mbeanServer.getAttribute(on, "EndpointUri");
assertEquals("mock://result", uri);
- // TODO: populating route id on producers is not implemented yet
- //String routeId = (String) mbeanServer.getAttribute(on, "RouteId");
- //assertEquals("route1", routeId);
+ // the producer should have route id
+ String routeId = (String) mbeanServer.getAttribute(on, "RouteId");
+ assertEquals("route1", routeId);
Boolean singleton = (Boolean) mbeanServer.getAttribute(on, "Singleton");
assertEquals(Boolean.TRUE, singleton);