You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/04/03 19:13:26 UTC
[camel] 02/05: CAMEL-15105: move RouteController ownership to the context extension
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9851e558350330451e9e59372be4fb745d366bec
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Apr 3 18:51:39 2023 +0200
CAMEL-15105: move RouteController ownership to the context extension
---
.../org/apache/camel/impl/engine/AbstractCamelContext.java | 1 -
.../apache/camel/impl/engine/DefaultCamelContextExtension.java | 4 +++-
.../java/org/apache/camel/builder/AddRoutesAtRuntimeTest.java | 10 +++++-----
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 3c8728517f5..79795930364 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -199,7 +199,6 @@ public abstract class AbstractCamelContext extends BaseService
protected final InternalServiceManager internalServiceManager;
- final RouteController internalRouteController = new InternalRouteController(this);
volatile StartupStepRecorder startupStepRecorder = new DefaultStartupStepRecorder();
int defaultRouteStartupOrder = 1000;
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index 06a7f54ca6b..dc728c9faec 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -78,6 +78,7 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
private final Map<String, FactoryFinder> bootstrapFactories = new ConcurrentHashMap<>();
private final Set<LogListener> logListeners = new LinkedHashSet<>();
private final PluginManager pluginManager = new DefaultContextPluginManager();
+ private final RouteController internalRouteController;
// start auto assigning route ids using numbering 1000 and upwards
private final List<BootstrapCloseable> bootstraps = new CopyOnWriteArrayList<>();
@@ -104,6 +105,7 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
public DefaultCamelContextExtension(AbstractCamelContext camelContext) {
this.camelContext = camelContext;
+ this.internalRouteController = new InternalRouteController(camelContext);
}
@Override
@@ -536,7 +538,7 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
@Override
public RouteController getInternalRouteController() {
- return camelContext.internalRouteController;
+ return internalRouteController;
}
@Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/AddRoutesAtRuntimeTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/AddRoutesAtRuntimeTest.java
index e28606849e9..5ade2f876cd 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/AddRoutesAtRuntimeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/AddRoutesAtRuntimeTest.java
@@ -16,13 +16,12 @@
*/
package org.apache.camel.builder;
-import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.impl.engine.AbstractCamelContext;
-import org.apache.camel.util.ReflectionHelper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -47,8 +46,9 @@ public class AddRoutesAtRuntimeTest extends ContextTestSupport {
assertEquals(2, context.getRoutes().size());
// use reflection to test that we do not leak bootstraps when dynamic adding routes
- Field f = AbstractCamelContext.class.getDeclaredField("bootstraps");
- Assertions.assertEquals(0, ((List) ReflectionHelper.getField(f, context)).size());
+ Method m = AbstractCamelContext.class.getDeclaredMethod("getBootstraps");
+ m.setAccessible(true);
+ Assertions.assertEquals(0, ((List) m.invoke(context)).size());
getMockEndpoint("mock:bar").expectedMessageCount(1);
context.addRoutes(new MyDynamcRouteBuilder(context, "direct:bar", "mock:bar"));
@@ -57,7 +57,7 @@ public class AddRoutesAtRuntimeTest extends ContextTestSupport {
assertEquals(3, context.getRoutes().size());
// use reflection to test that we do not leak bootstraps when dynamic adding routes
- Assertions.assertEquals(0, ((List) ReflectionHelper.getField(f, context)).size());
+ Assertions.assertEquals(0, ((List) m.invoke(context)).size());
}
@Override