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/03/29 10:00:18 UTC

[camel] 02/03: CAMEL-15105: replace getExtension calls with the ones based on the plugin manager

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 27be929b1d51343ed749ac4b69d152f8d2bfa1d3
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Mar 27 11:58:29 2023 +0200

    CAMEL-15105: replace getExtension calls with the ones based on the plugin manager
---
 ...sumerObserveAttributeMatchStringDifferTest.java |  8 +++----
 ...JmxConsumerObserveAttributeMatchStringTest.java |  8 +++----
 .../jmx/CamelJmxConsumerObserveAttributeTest.java  |  4 ++--
 .../camel/component/jmx/CamelJmxConsumerTest.java  |  2 +-
 .../faulttolerance/FaultToleranceReifier.java      |  4 ++--
 .../health/CamelMicroProfileHealthCheckTest.java   |  4 ++--
 .../openapi/DefaultRestDefinitionsResolver.java    |  2 +-
 .../component/resilience4j/ResilienceReifier.java  |  4 ++--
 .../spring/health/HealthCheckRegistryTest.java     |  2 +-
 ...nsumerHealthCheckErrorDisabledConsumerTest.java |  4 ++--
 .../TelegramConsumerHealthCheckErrorTest.java      |  4 ++--
 .../TelegramConsumerHealthCheckOkTest.java         |  4 ++--
 .../TelegramConsumerReadyLiveCheckTest.java        |  2 +-
 .../camel/test/CamelRouteCoverageDumper.java       |  4 ++--
 .../apache/camel/test/junit5/CamelTestSupport.java |  4 ++--
 .../camel/test/main/junit5/CamelMainExtension.java |  2 +-
 .../main/junit5/annotation/WithUseJMXTest.java     |  2 +-
 .../test/main/junit5/legacy/WithUseJMXTest.java    |  2 +-
 .../spring/junit5/CamelAnnotationsHandler.java     |  2 +-
 .../test/spring/junit5/RouteCoverageDumper.java    |  2 +-
 .../rest/RestUndertowHttpPojoTypeTest.java         |  2 +-
 .../main/java/org/apache/camel/CamelContext.java   | 16 -------------
 .../apache/camel/console/DevConsoleRegistry.java   |  2 +-
 .../org/apache/camel/health/HealthCheckHelper.java |  6 ++---
 .../apache/camel/health/HealthCheckRegistry.java   |  2 +-
 .../java/org/apache/camel/spi/PluginManager.java   |  4 ++++
 .../camel/impl/engine/AbstractCamelContext.java    | 28 +++++-----------------
 .../apache/camel/impl/engine/DefaultChannel.java   |  2 +-
 .../impl/engine/DefaultDevConsoleResolver.java     |  2 +-
 .../camel/impl/engine/SimpleCamelContext.java      |  2 +-
 .../impl/cloud/ServiceCallProcessorFactory.java    |  4 ++--
 .../camel/impl/console/ContextDevConsole.java      |  4 ++--
 .../apache/camel/impl/console/RouteDevConsole.java |  8 +++----
 .../camel/impl/console/SourceDevConsole.java       |  2 +-
 .../apache/camel/impl/console/TopDevConsole.java   |  4 ++--
 .../apache/camel/impl/console/TraceDevConsole.java |  4 ++--
 .../camel/impl/lw/LightweightCamelContext.java     | 10 --------
 .../impl/lw/LightweightRuntimeCamelContext.java    | 10 --------
 .../java/org/apache/camel/builder/AdviceWith.java  |  2 +-
 .../org/apache/camel/builder/RouteBuilder.java     | 12 +++++-----
 .../camel/builder/RouteConfigurationBuilder.java   |  4 ++--
 .../reifier/dataformat/DataFormatReifier.java      |  2 +-
 .../apache/camel/impl/StartAndStopRoutesTest.java  |  2 +-
 .../impl/health/HealthCheckResultStrategyTest.java |  2 +-
 .../camel/impl/health/MyFooHealthCheckTest.java    |  2 +-
 .../model/ModelRouteFilterPatternExcludeTest.java  |  2 +-
 .../ModelRouteFilterPatternIncludeExcludeTest.java |  2 +-
 .../model/ModelRouteFilterPatternIncludeTest.java  |  2 +-
 .../org/apache/camel/main/BaseMainSupport.java     |  4 ++--
 .../camel/main/DefaultConfigurationConfigurer.java |  2 +-
 .../main/MainHealthCheckExcludedPatternTest.java   |  6 ++---
 .../management/JmxManagementLifecycleStrategy.java |  4 ++--
 .../camel/management/ManagedCamelContextImpl.java  |  4 ++--
 .../management/mbean/ManagedCamelContext.java      |  6 ++---
 .../camel/management/mbean/ManagedRoute.java       |  2 +-
 .../management/mbean/RouteCoverageXmlParser.java   |  6 ++---
 .../management/ManagedAggregateControllerTest.java |  2 +-
 .../camel/management/ManagedCamelContextTest.java  |  2 +-
 .../camel/management/ManagedHealthCheckTest.java   |  2 +-
 .../management/ManagedInlinedProcessorTest.java    |  2 +-
 .../ManagedRouteSuspendAndResumeTest.java          |  2 +-
 .../apache/camel/management/ManagedStepTest.java   |  2 +-
 .../camel/cli/connector/LocalCliConnector.java     | 14 +++++------
 .../EndpointRouteConfigurationBuilder.java         |  5 ++--
 .../apache/camel/main/http/VertxHttpServer.java    |  2 +-
 65 files changed, 117 insertions(+), 164 deletions(-)

diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
index 324319e1fb6..e83d6c424c5 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
@@ -38,19 +38,19 @@ public class CamelJmxConsumerObserveAttributeMatchStringDifferTest extends Camel
         getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
 
         // change the attribute so JMX triggers but should be filtered
-        ManagedRouteMBean mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        ManagedRouteMBean mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setStatisticsEnabled(true);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(false);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         MockEndpoint.assertIsSatisfied(context);
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
index 3568f4fb28f..fd7876f501b 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
@@ -38,19 +38,19 @@ public class CamelJmxConsumerObserveAttributeMatchStringTest extends CamelTestSu
         getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
 
         // change the attribute so JMX triggers but should be filtered
-        ManagedRouteMBean mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        ManagedRouteMBean mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setStatisticsEnabled(true);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(false);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         MockEndpoint.assertIsSatisfied(context);
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
index 149d3b59743..158d2f109d8 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
@@ -38,11 +38,11 @@ public class CamelJmxConsumerObserveAttributeTest extends CamelTestSupport {
         getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
 
         // change the attribute so JMX triggers but should be filtered
-        ManagedRouteMBean mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        ManagedRouteMBean mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setStatisticsEnabled(true);
 
         // change the attribute so JMX triggers
-        mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         MockEndpoint.assertIsSatisfied(context);
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
index 543dcdc5cde..d74bef663af 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
@@ -37,7 +37,7 @@ public class CamelJmxConsumerTest extends CamelTestSupport {
         getMockEndpoint("mock:result").message(0).body().contains("<newValue>true</newValue>");
 
         // change the attribute so JMX triggers
-        ManagedRouteMBean mr = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo");
+        ManagedRouteMBean mr = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo");
         mr.setTracing(true);
 
         MockEndpoint.assertIsSatisfied(context);
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
index 31ef4e37bbf..156b9ef8001 100644
--- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java
@@ -139,7 +139,7 @@ public class FaultToleranceReifier extends ProcessorReifier<CircuitBreakerDefini
         // Extract properties from default configuration, the one configured on
         // camel context takes the precedence over those in the registry
         loadProperties(properties, Suppliers.firstNotNull(
-                () -> camelContext.getExtension(Model.class).getFaultToleranceConfiguration(null),
+                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getFaultToleranceConfiguration(null),
                 () -> lookupByNameAndType(FaultToleranceConstants.DEFAULT_FAULT_TOLERANCE_CONFIGURATION_ID,
                         FaultToleranceConfigurationDefinition.class)),
                 configurer);
@@ -150,7 +150,7 @@ public class FaultToleranceReifier extends ProcessorReifier<CircuitBreakerDefini
             final String ref = parseString(definition.getConfiguration());
 
             loadProperties(properties, Suppliers.firstNotNull(
-                    () -> camelContext.getExtension(Model.class).getFaultToleranceConfiguration(ref),
+                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getFaultToleranceConfiguration(ref),
                     () -> mandatoryLookup(ref, FaultToleranceConfigurationDefinition.class)),
                     configurer);
         }
diff --git a/components/camel-microprofile/camel-microprofile-health/src/test/java/org/apache/camel/microprofile/health/CamelMicroProfileHealthCheckTest.java b/components/camel-microprofile/camel-microprofile-health/src/test/java/org/apache/camel/microprofile/health/CamelMicroProfileHealthCheckTest.java
index b0c5136bef8..acb2459e2d9 100644
--- a/components/camel-microprofile/camel-microprofile-health/src/test/java/org/apache/camel/microprofile/health/CamelMicroProfileHealthCheckTest.java
+++ b/components/camel-microprofile/camel-microprofile-health/src/test/java/org/apache/camel/microprofile/health/CamelMicroProfileHealthCheckTest.java
@@ -43,7 +43,7 @@ public class CamelMicroProfileHealthCheckTest extends CamelMicroProfileHealthTes
     @Test
     public void testCamelContextHealthCheckUpStatus() {
         context.setNameStrategy(new ExplicitCamelContextNameStrategy("health-context"));
-        context.getExtension(HealthCheckRegistry.class).register(new ContextHealthCheck());
+        context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class).register(new ContextHealthCheck());
 
         SmallRyeHealth health = reporter.getHealth();
 
@@ -66,7 +66,7 @@ public class CamelMicroProfileHealthCheckTest extends CamelMicroProfileHealthTes
     @Test
     public void testCamelContextHealthCheckDownStatus() {
         context.setNameStrategy(new ExplicitCamelContextNameStrategy("health-context"));
-        context.getExtension(HealthCheckRegistry.class).register(new ContextHealthCheck());
+        context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class).register(new ContextHealthCheck());
 
         context.stop();
 
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
index 3b228c571b8..2e8a1d7f208 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
@@ -32,7 +32,7 @@ public class DefaultRestDefinitionsResolver implements RestDefinitionsResolver {
                     "Must use JmxRestDefinitionsResolver to generate rest model from another CamelContext in the same JVM");
         }
 
-        Model model = camelContext.getExtension(Model.class);
+        Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
         List<RestDefinition> rests = model.getRestDefinitions();
         if (rests.isEmpty()) {
             return null;
diff --git a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
index b0526b33ad5..03657e0f036 100644
--- a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
+++ b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
@@ -183,7 +183,7 @@ public class ResilienceReifier extends ProcessorReifier<CircuitBreakerDefinition
         // Extract properties from default configuration, the one configured on
         // camel context takes the precedence over those in the registry
         loadProperties(properties, Suppliers.firstNotNull(
-                () -> camelContext.getExtension(Model.class).getResilience4jConfiguration(null),
+                () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getResilience4jConfiguration(null),
                 () -> lookupByNameAndType(ResilienceConstants.DEFAULT_RESILIENCE_CONFIGURATION_ID,
                         Resilience4jConfigurationDefinition.class)),
                 configurer);
@@ -194,7 +194,7 @@ public class ResilienceReifier extends ProcessorReifier<CircuitBreakerDefinition
             final String ref = parseString(definition.getConfiguration());
 
             loadProperties(properties, Suppliers.firstNotNull(
-                    () -> camelContext.getExtension(Model.class).getResilience4jConfiguration(ref),
+                    () -> camelContext.getCamelContextExtension().getContextPlugin(Model.class).getResilience4jConfiguration(ref),
                     () -> mandatoryLookup(ref, Resilience4jConfigurationDefinition.class)),
                     configurer);
         }
diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/health/HealthCheckRegistryTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/health/HealthCheckRegistryTest.java
index bfb08057bf2..92e5f750eaa 100644
--- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/health/HealthCheckRegistryTest.java
+++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/health/HealthCheckRegistryTest.java
@@ -36,7 +36,7 @@ public class HealthCheckRegistryTest {
     public void testHealthCheckRoutes() throws Exception {
         CamelContext context = createContext("org/apache/camel/spring/health/HealthCheckRegistryTest.xml");
 
-        HealthCheckRegistry hc = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hc = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         assertNotNull(hc);
 
         List<HealthCheck> checks = hc.stream().collect(Collectors.toList());
diff --git a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorDisabledConsumerTest.java b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorDisabledConsumerTest.java
index dbe80ba6759..df516a14086 100644
--- a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorDisabledConsumerTest.java
+++ b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorDisabledConsumerTest.java
@@ -42,7 +42,7 @@ public class TelegramConsumerHealthCheckErrorDisabledConsumerTest extends Telegr
         CamelContext context = super.createCamelContext();
 
         // enabling routes health check is a bit cumbersome via low-level Java code
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo = hcr.getRepository("routes").orElse((HealthCheckRepository) hcr.resolveById("routes"));
         repo.setEnabled(true);
         hcr.register(repo);
@@ -57,7 +57,7 @@ public class TelegramConsumerHealthCheckErrorDisabledConsumerTest extends Telegr
 
     @Test
     public void testReceptionOfTwoMessages() {
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo = hcr.getRepository("routes").get();
 
         // should not be UP from the start as routes can be started
diff --git a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorTest.java b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorTest.java
index 3f301b31072..349bee16404 100644
--- a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorTest.java
+++ b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckErrorTest.java
@@ -42,7 +42,7 @@ public class TelegramConsumerHealthCheckErrorTest extends TelegramTestSupport {
         CamelContext context = super.createCamelContext();
 
         // enabling consumers health check is a bit cumbersome via low-level Java code
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo
                 = hcr.getRepository("consumers").orElse((HealthCheckRepository) hcr.resolveById("consumers"));
         repo.setEnabled(true);
@@ -53,7 +53,7 @@ public class TelegramConsumerHealthCheckErrorTest extends TelegramTestSupport {
 
     @Test
     public void testReceptionOfTwoMessages() {
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo = hcr.getRepository("consumers").get();
 
         // wait until HC is DOWN
diff --git a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckOkTest.java b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckOkTest.java
index 381a59ecc01..06854a715a8 100644
--- a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckOkTest.java
+++ b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerHealthCheckOkTest.java
@@ -41,7 +41,7 @@ public class TelegramConsumerHealthCheckOkTest extends TelegramTestSupport {
         CamelContext context = super.createCamelContext();
 
         // enabling consumers health check is a bit cumbersome via low-level Java code
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo
                 = hcr.getRepository("consumers").orElse((HealthCheckRepository) hcr.resolveById("consumers"));
         repo.setEnabled(true);
@@ -52,7 +52,7 @@ public class TelegramConsumerHealthCheckOkTest extends TelegramTestSupport {
 
     @Test
     public void testReceptionOfTwoMessages() throws Exception {
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo = hcr.getRepository("consumers").get();
 
         endpoint.expectedMinimumMessageCount(2);
diff --git a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerReadyLiveCheckTest.java b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerReadyLiveCheckTest.java
index 766e28fc386..be71c2e3b53 100644
--- a/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerReadyLiveCheckTest.java
+++ b/components/camel-telegram/src/test/java/org/apache/camel/component/telegram/TelegramConsumerReadyLiveCheckTest.java
@@ -43,7 +43,7 @@ public class TelegramConsumerReadyLiveCheckTest extends TelegramTestSupport {
         CamelContext context = super.createCamelContext();
 
         // enabling consumers health check is a bit cumbersome via low-level Java code
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         HealthCheckRepository repo
                 = hcr.getRepository("consumers").orElse((HealthCheckRepository) hcr.resolveById("consumers"));
         repo.setEnabled(true);
diff --git a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/CamelRouteCoverageDumper.java b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/CamelRouteCoverageDumper.java
index 85553b39fd3..14b2d03d4a9 100644
--- a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/CamelRouteCoverageDumper.java
+++ b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/CamelRouteCoverageDumper.java
@@ -97,7 +97,7 @@ public class CamelRouteCoverageDumper {
             String name = objectName.getKeyProperty("name");
             name = ObjectName.unquote(name);
 
-            ManagedProcessorMBean managedProcessor = context.getExtension(ManagedCamelContext.class).getManagedProcessor(name);
+            ManagedProcessorMBean managedProcessor = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedProcessor(name);
 
             if (managedProcessor != null) {
                 if (processorsForRoute.get(routeId) == null) {
@@ -154,7 +154,7 @@ public class CamelRouteCoverageDumper {
 
         // log processor coverage for each route
         for (Route route : context.getRoutes()) {
-            ManagedRouteMBean managedRoute = context.getExtension(ManagedCamelContext.class).getManagedRoute(route.getId());
+            ManagedRouteMBean managedRoute = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute(route.getId());
             if (managedRoute.getExchangesTotal() == 0) {
                 uncoveredRoutes.add(route.getId());
             }
diff --git a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
index c83d1c73c0b..8c6d6345977 100644
--- a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
+++ b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
@@ -506,7 +506,7 @@ public abstract class CamelTestSupport
         String exclude = getRouteFilterExcludePattern();
         if (include != null || exclude != null) {
             LOG.info("Route filtering pattern: include={}, exclude={}", include, exclude);
-            context.getExtension(Model.class).setRouteFilterPattern(include, exclude);
+            context.getCamelContextExtension().getContextPlugin(Model.class).setRouteFilterPattern(include, exclude);
         }
 
         // prepare for in-between tests
@@ -576,7 +576,7 @@ public abstract class CamelTestSupport
             String dir = "target/camel-route-coverage";
             String name = className + "-" + StringHelper.before(currentTestName, "(") + ".xml";
 
-            ManagedCamelContext mc = context != null ? context.getExtension(ManagedCamelContext.class) : null;
+            ManagedCamelContext mc = context != null ? context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class) : null;
             ManagedCamelContextMBean managedCamelContext = mc != null ? mc.getManagedCamelContext() : null;
             if (managedCamelContext == null) {
                 LOG.warn("Cannot dump route coverage to file as JMX is not enabled. "
diff --git a/components/camel-test/camel-test-main-junit5/src/main/java/org/apache/camel/test/main/junit5/CamelMainExtension.java b/components/camel-test/camel-test-main-junit5/src/main/java/org/apache/camel/test/main/junit5/CamelMainExtension.java
index 29ce2fbfd51..4175566cfd6 100644
--- a/components/camel-test/camel-test-main-junit5/src/main/java/org/apache/camel/test/main/junit5/CamelMainExtension.java
+++ b/components/camel-test/camel-test-main-junit5/src/main/java/org/apache/camel/test/main/junit5/CamelMainExtension.java
@@ -145,7 +145,7 @@ final class CamelMainExtension
             String name = String.format("%s-%s.xml", className, StringHelper.before(currentTestName, "("));
 
             final ModelCamelContext camelContext = getContextStore(context).get(CONTEXT, CamelMainContext.class).context();
-            ManagedCamelContext mc = camelContext == null ? null : camelContext.getExtension(ManagedCamelContext.class);
+            ManagedCamelContext mc = camelContext == null ? null : camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
             ManagedCamelContextMBean managedCamelContext = mc == null ? null : mc.getManagedCamelContext();
             if (managedCamelContext == null) {
                 LOG.warn("Cannot dump route coverage to file as JMX is not enabled. "
diff --git a/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/annotation/WithUseJMXTest.java b/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/annotation/WithUseJMXTest.java
index 2133b79fadf..cea9307b2b3 100644
--- a/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/annotation/WithUseJMXTest.java
+++ b/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/annotation/WithUseJMXTest.java
@@ -38,7 +38,7 @@ class WithUseJMXTest {
     @Test
     void shouldFindTheManagedCamelContext() {
         assertNotNull(context);
-        ManagedCamelContext mc = context.getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mc = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         assertNotNull(mc);
         ManagedCamelContextMBean managedCamelContext = mc.getManagedCamelContext();
         assertNotNull(managedCamelContext);
diff --git a/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/legacy/WithUseJMXTest.java b/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/legacy/WithUseJMXTest.java
index bb9fbb57622..0fb78494bf4 100644
--- a/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/legacy/WithUseJMXTest.java
+++ b/components/camel-test/camel-test-main-junit5/src/test/java/org/apache/camel/test/main/junit5/legacy/WithUseJMXTest.java
@@ -42,7 +42,7 @@ class WithUseJMXTest extends CamelMainTestSupport {
     @Test
     void shouldFindTheManagedCamelContext() {
         assertNotNull(context);
-        ManagedCamelContext mc = context.getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mc = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         assertNotNull(mc);
         ManagedCamelContextMBean managedCamelContext = mc.getManagedCamelContext();
         assertNotNull(managedCamelContext);
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
index 98d93cbf986..74372872fed 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
@@ -151,7 +151,7 @@ public final class CamelAnnotationsHandler {
 
                     // reset JMX statistics
                     ManagedCamelContext managedCamelContext
-                            = camelContext.getExtension(ManagedCamelContext.class);
+                            = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
                     if (managedCamelContext != null) {
                         ManagedCamelContextMBean mBean = managedCamelContext.getManagedCamelContext();
                         LOGGER.debug("Resetting JMX statistics for RouteCoverage");
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/RouteCoverageDumper.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/RouteCoverageDumper.java
index 76217c57bfd..de96f2aebf6 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/RouteCoverageDumper.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/RouteCoverageDumper.java
@@ -45,7 +45,7 @@ public final class RouteCoverageDumper {
             String name = testClassName + "-" + testName + ".xml";
 
             ManagedCamelContext managedCamelContext
-                    = context.getExtension(ManagedCamelContext.class);
+                    = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
             if (managedCamelContext == null) {
                 LOG.warn(
                         "Cannot dump route coverage to file as JMX is not enabled."
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoTypeTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoTypeTest.java
index f71b7b3e80d..d508720d808 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoTypeTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoTypeTest.java
@@ -43,7 +43,7 @@ public class RestUndertowHttpPojoTypeTest extends BaseUndertowTest {
         // Wasn't clear if there's a way to put this test into camel-core just to test the model
         // perhaps without starting the Camel Context?
 
-        List<RestDefinition> restDefinitions = context().getExtension(Model.class).getRestDefinitions();
+        List<RestDefinition> restDefinitions = context().getCamelContextExtension().getContextPlugin(Model.class).getRestDefinitions();
         assertNotNull(restDefinitions);
         assertTrue(restDefinitions.size() > 0);
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
index a0392083ca3..f0d5f028c6d 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
@@ -90,22 +90,6 @@ public interface CamelContext extends CamelContextLifecycle, RuntimeConfiguratio
      */
     ExtendedCamelContext getCamelContextExtension();
 
-    /**
-     * Gets the extension of the given type.
-     *
-     * @param  type the type of the extension
-     * @return      the extension, or <tt>null</tt> if no extension has been installed.
-     */
-    <T> T getExtension(Class<T> type);
-
-    /**
-     * Allows to install custom extensions to the Camel context.
-     *
-     * @param type   the type of the extension
-     * @param module the instance of the extension
-     */
-    <T> void setExtension(Class<T> type, T module);
-
     /**
      * If CamelContext during the start procedure was vetoed, and therefore causing Camel to not start.
      */
diff --git a/core/camel-api/src/main/java/org/apache/camel/console/DevConsoleRegistry.java b/core/camel-api/src/main/java/org/apache/camel/console/DevConsoleRegistry.java
index 146a8d9b50f..b0b4874130b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/console/DevConsoleRegistry.java
+++ b/core/camel-api/src/main/java/org/apache/camel/console/DevConsoleRegistry.java
@@ -97,7 +97,7 @@ public interface DevConsoleRegistry extends CamelContextAware, StaticService, Id
      * This registry is not used by the camel context, but it is up to the implementation to properly use it.
      */
     static DevConsoleRegistry get(CamelContext context) {
-        return context.getExtension(DevConsoleRegistry.class);
+        return context.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
     }
 
     /**
diff --git a/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java b/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
index acb4fe584a5..ae8451eb1df 100644
--- a/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
+++ b/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckHelper.java
@@ -207,7 +207,7 @@ public final class HealthCheckHelper {
      * @return         the health check registry, or <tt>null</tt> if health-check is not enabled.
      */
     public static HealthCheckRegistry getHealthCheckRegistry(CamelContext context) {
-        return context.getExtension(HealthCheckRegistry.class);
+        return context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
     }
 
     /**
@@ -220,7 +220,7 @@ public final class HealthCheckHelper {
     public static HealthCheck getHealthCheck(CamelContext context, String id) {
         HealthCheck answer = null;
 
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr != null && hcr.isEnabled()) {
             Optional<HealthCheck> check = hcr.getCheck(id);
             if (check.isEmpty()) {
@@ -266,7 +266,7 @@ public final class HealthCheckHelper {
     public static HealthCheckRepository getHealthCheckRepository(CamelContext context, String id) {
         HealthCheckRepository answer = null;
 
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr != null && hcr.isEnabled()) {
             Optional<HealthCheckRepository> repo = hcr.getRepository(id);
             if (repo.isEmpty()) {
diff --git a/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckRegistry.java b/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckRegistry.java
index ac5cb1bf33c..10762e45745 100644
--- a/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckRegistry.java
+++ b/core/camel-api/src/main/java/org/apache/camel/health/HealthCheckRegistry.java
@@ -108,7 +108,7 @@ public interface HealthCheckRegistry extends CamelContextAware, StaticService, I
      * could integrate such checks within its health endpoint or make it available only as separate endpoint.
      */
     static HealthCheckRegistry get(CamelContext context) {
-        return context != null ? context.getExtension(HealthCheckRegistry.class) : null;
+        return context != null ? context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class) : null;
     }
 
     /**
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/PluginManager.java b/core/camel-api/src/main/java/org/apache/camel/spi/PluginManager.java
index 504ca54ab75..0b21cee566b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/PluginManager.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/PluginManager.java
@@ -17,6 +17,10 @@
 
 package org.apache.camel.spi;
 
+/**
+ * A manager for internal plugins. This is part of the internal Camel API and not meant for public usage.
+ */
+
 public interface PluginManager {
     /**
      * Gets a plugin of the given type.
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 fbd1ec9333e..c96c800d2f5 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
@@ -273,7 +273,6 @@ public abstract class AbstractCamelContext extends BaseService
     private final InternalRouteStartupManager internalRouteStartupManager = new InternalRouteStartupManager(this);
     private final List<RouteStartupOrder> routeStartupOrder = new ArrayList<>();
     private final StopWatch stopWatch = new StopWatch(false);
-    private final PluginManager pluginManager;
     private final ThreadLocal<Set<String>> componentsInCreation = ThreadLocal.withInitial(() -> new HashSet<>());
     private VetoCamelContextStartException vetoed;
     private String managementName;
@@ -389,7 +388,6 @@ public abstract class AbstractCamelContext extends BaseService
         this.bootstraps.add(bootstrapFactories::clear);
 
         this.internalServiceManager = new InternalServiceManager(this, internalRouteStartupManager, startupListeners);
-        this.pluginManager = new DefaultContextPluginManager(internalServiceManager);
 
         if (build) {
             try {
@@ -441,20 +439,6 @@ public abstract class AbstractCamelContext extends BaseService
         return true;
     }
 
-    @Override
-    public <T> T getExtension(Class<T> type) {
-        if (type.isInstance(this)) {
-            return type.cast(this);
-        }
-
-        return pluginManager.getContextPlugin(type);
-    }
-
-    @Override
-    public <T> void setExtension(Class<T> type, T module) {
-        pluginManager.addContextPlugin(type, module);
-    }
-
     @Override
     public boolean isVetoStarted() {
         return vetoed != null;
@@ -2197,7 +2181,7 @@ public abstract class AbstractCamelContext extends BaseService
         startupStepRecorder.endStep(step3);
 
         // setup health-check registry as its needed this early phase for 3rd party to register custom repositories
-        HealthCheckRegistry hcr = getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr == null) {
             StartupStep step4 = startupStepRecorder.beginStep(CamelContext.class, null, "Setup HealthCheckRegistry");
             hcr = createHealthCheckRegistry();
@@ -2210,7 +2194,7 @@ public abstract class AbstractCamelContext extends BaseService
         }
 
         // setup dev-console registry as its needed this early phase for 3rd party to register custom consoles
-        DevConsoleRegistry dcr = getExtension(DevConsoleRegistry.class);
+        DevConsoleRegistry dcr = getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
         if (dcr == null) {
             StartupStep step5 = startupStepRecorder.beginStep(CamelContext.class, null, "Setup DevConsoleRegistry");
             dcr = createDevConsoleRegistry();
@@ -2287,7 +2271,7 @@ public abstract class AbstractCamelContext extends BaseService
         // ensure additional health checks is loaded
         if (loadHealthChecks) {
             StartupStep step3 = startupStepRecorder.beginStep(CamelContext.class, null, "Scan HealthChecks");
-            HealthCheckRegistry hcr = getExtension(HealthCheckRegistry.class);
+            HealthCheckRegistry hcr = getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
             if (hcr != null) {
                 hcr.loadHealthChecks();
             }
@@ -2296,7 +2280,7 @@ public abstract class AbstractCamelContext extends BaseService
         // ensure additional dev consoles is loaded
         if (devConsole) {
             StartupStep step4 = startupStepRecorder.beginStep(CamelContext.class, null, "Scan DevConsoles (phase 1)");
-            DevConsoleRegistry dcr = getExtension(DevConsoleRegistry.class);
+            DevConsoleRegistry dcr = getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
             if (dcr != null) {
                 dcr.loadDevConsoles();
             }
@@ -2838,7 +2822,7 @@ public abstract class AbstractCamelContext extends BaseService
             LOG.debug("Using ThreadPoolFactory: {}", getExecutorServiceManager().getThreadPoolFactory());
         }
 
-        HealthCheckRegistry hcr = getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr != null && hcr.isEnabled()) {
             LOG.debug("Using HealthCheck: {}", hcr.getId());
         }
@@ -2865,7 +2849,7 @@ public abstract class AbstractCamelContext extends BaseService
         // ensure extra dev consoles is loaded in case additional JARs has been dynamically added to the classpath
         if (devConsole) {
             StartupStep step = startupStepRecorder.beginStep(CamelContext.class, null, "Scan DevConsoles (phase 2)");
-            DevConsoleRegistry dcr = getExtension(DevConsoleRegistry.class);
+            DevConsoleRegistry dcr = getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
             if (dcr != null) {
                 dcr.loadDevConsoles(true);
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultChannel.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultChannel.java
index 8e33334ef63..62145a50679 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultChannel.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultChannel.java
@@ -275,7 +275,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
             }
         }
         if (tracer == null) {
-            tracer = camelContext.getExtension(BacklogTracer.class);
+            tracer = camelContext.getCamelContextExtension().getContextPlugin(BacklogTracer.class);
         }
         if (tracer == null) {
             tracer = BacklogTracer.createTracer(camelContext);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
index 992b2ff02b1..f1ff725b2e8 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDevConsoleResolver.java
@@ -90,7 +90,7 @@ public class DefaultDevConsoleResolver implements DevConsoleResolver, CamelConte
 
     @Override
     public Optional<DevConsole> lookupDevConsole(String id) {
-        DevConsoleRegistry dcr = camelContext.getExtension(DevConsoleRegistry.class);
+        DevConsoleRegistry dcr = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
         if (dcr != null) {
             return dcr.getConsole(id);
         } else {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index c93c676617f..d7e38b279fc 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -572,7 +572,7 @@ public class SimpleCamelContext extends AbstractCamelContext {
             }
         }
         if (tracer == null) {
-            tracer = getExtension(Tracer.class);
+            tracer = getCamelContextExtension().getContextPlugin(Tracer.class);
         }
         if (tracer == null) {
             tracer = new DefaultTracer();
diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
index 48bc825a3a4..ed724ae93d4 100644
--- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
+++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
@@ -146,7 +146,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa
 
     private ServiceCallConfigurationDefinition retrieveDefaultConfig(CamelContext camelContext) {
         // check if a default configuration is bound to the registry
-        ServiceCallConfigurationDefinition config = camelContext.getExtension(Model.class).getServiceCallConfiguration(null);
+        ServiceCallConfigurationDefinition config = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getServiceCallConfiguration(null);
 
         if (config == null) {
             // Or if it is in the registry
@@ -171,7 +171,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa
             config = lookup(camelContext, definition.getConfigurationRef(), ServiceCallConfigurationDefinition.class);
             if (config == null) {
                 // and fallback as service configuration
-                config = camelContext.getExtension(Model.class).getServiceCallConfiguration(definition.getConfigurationRef());
+                config = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getServiceCallConfiguration(definition.getConfigurationRef());
             }
         }
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
index 655d2fb8e65..d232d0e964a 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
@@ -47,7 +47,7 @@ public class ContextDevConsole extends AbstractDevConsole {
         }
         sb.append("\n");
 
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             ManagedCamelContextMBean mb = mcc.getManagedCamelContext();
             if (mb != null) {
@@ -115,7 +115,7 @@ public class ContextDevConsole extends AbstractDevConsole {
         root.put("phase", getCamelContext().getCamelContextExtension().getStatusPhase());
         root.put("uptime", getCamelContext().getUptime());
 
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             ManagedCamelContextMBean mb = mcc.getManagedCamelContext();
             if (mb != null) {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
index 1ccb736ddc3..8e465acf4d3 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
@@ -125,7 +125,7 @@ public class RouteDevConsole extends AbstractDevConsole {
     }
 
     private void includeProcessorsText(ManagedRouteMBean mrb, StringBuilder sb) {
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
 
         Collection<String> ids;
         try {
@@ -251,7 +251,7 @@ public class RouteDevConsole extends AbstractDevConsole {
     }
 
     private void includeProcessorsJson(ManagedRouteMBean mrb, JsonArray arr) {
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
 
         Collection<String> ids;
         try {
@@ -329,7 +329,7 @@ public class RouteDevConsole extends AbstractDevConsole {
         String limit = (String) options.get(LIMIT);
         final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);
 
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             List<Route> routes = getCamelContext().getRoutes();
             routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
@@ -387,7 +387,7 @@ public class RouteDevConsole extends AbstractDevConsole {
     }
 
     private String calculateRouteCoverage(ManagedRouteMBean mrb, boolean percent) {
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
 
         Collection<String> ids;
         try {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
index 1b65e9b6af8..73811ce2845 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
@@ -132,7 +132,7 @@ public class SourceDevConsole extends AbstractDevConsole {
         String limit = (String) options.get(LIMIT);
         final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);
 
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             List<Route> routes = getCamelContext().getRoutes();
             routes.sort((o1, o2) -> o1.getRouteId().compareToIgnoreCase(o2.getRouteId()));
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
index d6ee73e9e1a..9663f6b13d3 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
@@ -66,7 +66,7 @@ public class TopDevConsole extends AbstractDevConsole {
         final int max = limit == null ? Integer.MAX_VALUE : Integer.parseInt(limit);
 
         final StringBuilder sb = new StringBuilder();
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             if (subPath == null || subPath.isBlank()) {
                 Function<ManagedRouteMBean, Object> task = mrb -> {
@@ -168,7 +168,7 @@ public class TopDevConsole extends AbstractDevConsole {
         final JsonObject root = new JsonObject();
         final List<JsonObject> list = new ArrayList<>();
 
-        ManagedCamelContext mcc = getCamelContext().getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = getCamelContext().getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         if (mcc != null) {
             if (subPath == null || subPath.isBlank()) {
                 Function<ManagedRouteMBean, Object> task = mrb -> {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
index b4019cefb15..771c472dda6 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
@@ -62,7 +62,7 @@ public class TraceDevConsole extends AbstractDevConsole {
     protected String doCallText(Map<String, Object> options) {
         StringBuilder sb = new StringBuilder();
 
-        BacklogTracer tracer = getCamelContext().getExtension(BacklogTracer.class);
+        BacklogTracer tracer = getCamelContext().getCamelContextExtension().getContextPlugin(BacklogTracer.class);
         if (tracer != null) {
             for (BacklogTracerEventMessage t : tracer.dumpAllTracedMessages()) {
                 addMessage(t);
@@ -90,7 +90,7 @@ public class TraceDevConsole extends AbstractDevConsole {
     protected JsonObject doCallJson(Map<String, Object> options) {
         JsonObject root = new JsonObject();
 
-        BacklogTracer tracer = getCamelContext().getExtension(BacklogTracer.class);
+        BacklogTracer tracer = getCamelContext().getCamelContextExtension().getContextPlugin(BacklogTracer.class);
         if (tracer != null) {
             for (BacklogTracerEventMessage t : tracer.dumpAllTracedMessages()) {
                 addMessage(t);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
index d6604ca937b..7c948278d95 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
@@ -207,16 +207,6 @@ public class LightweightCamelContext implements CamelContext, CatalogCamelContex
         delegate.close();
     }
 
-    @Override
-    public <T> T getExtension(Class<T> type) {
-        return delegate.getExtension(type);
-    }
-
-    @Override
-    public <T> void setExtension(Class<T> type, T module) {
-        delegate.setExtension(type, module);
-    }
-
     @Override
     public void start() {
         delegate.start();
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
index eeac0227849..31842e54e5e 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
@@ -418,16 +418,6 @@ public class LightweightRuntimeCamelContext implements CamelContext, CatalogCame
         return lwCamelContextExtension;
     }
 
-    @Override
-    public <T> T getExtension(Class<T> type) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T> void setExtension(Class<T> type, T module) {
-        throw new UnsupportedOperationException();
-    }
-
     @Override
     public boolean isVetoStarted() {
         throw new UnsupportedOperationException();
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
index d2f07efe8d8..e12fff7a3c9 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java
@@ -198,7 +198,7 @@ public final class AdviceWith {
 
         LOG.debug("AdviceWith route before: {}", definition);
         ExtendedCamelContext ecc = camelContext.getCamelContextExtension();
-        Model model = camelContext.getExtension(Model.class);
+        Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
 
         // inject this route into the advice route builder so it can access this route
         // and offer features to manipulate the route directly
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
index 33846f835d4..b3648977d9e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -742,7 +742,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
 
     private void populateTemplatedRoutes(CamelContext camelContext) throws Exception {
         getTemplatedRouteCollection().setCamelContext(camelContext);
-        camelContext.getExtension(Model.class).addRouteFromTemplatedRoutes(getTemplatedRouteCollection().getTemplatedRoutes());
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class).addRouteFromTemplatedRoutes(getTemplatedRouteCollection().getTemplatedRoutes());
     }
 
     /**
@@ -760,7 +760,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
     protected void populateRouteTemplates() throws Exception {
         CamelContext camelContext = notNullCamelContext();
         getRouteTemplateCollection().setCamelContext(camelContext);
-        camelContext.getExtension(Model.class).addRouteTemplateDefinitions(getRouteTemplateCollection().getRouteTemplates());
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class).addRouteTemplateDefinitions(getRouteTemplateCollection().getRouteTemplates());
     }
 
     protected void populateRoutes() throws Exception {
@@ -769,7 +769,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
         if (resource != null) {
             getRouteCollection().setResource(resource);
         }
-        camelContext.getExtension(Model.class).addRouteDefinitions(getRouteCollection().getRoutes());
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class).addRouteDefinitions(getRouteCollection().getRoutes());
     }
 
     protected void populateOrUpdateRoutes() throws Exception {
@@ -783,7 +783,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
             camelContext.getRouteController().stopRoute(route.getRouteId());
             camelContext.removeRoute(route.getRouteId());
         }
-        camelContext.getExtension(Model.class).addRouteDefinitions(getRouteCollection().getRoutes());
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class).addRouteDefinitions(getRouteCollection().getRoutes());
     }
 
     protected void populateRests() throws Exception {
@@ -797,7 +797,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
 
         // cannot add rests as routes yet as we need to initialize this
         // specially
-        camelContext.getExtension(Model.class).addRestDefinitions(getRestCollection().getRests(), false);
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class).addRestDefinitions(getRestCollection().getRests(), false);
 
         // convert rests api-doc into routes so they are routes for runtime
         RestConfiguration config = camelContext.getRestConfiguration();
@@ -809,7 +809,7 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
             // so we check all existing routes if they have rest-api route
             // already added
             boolean hasRestApi = false;
-            for (RouteDefinition route : camelContext.getExtension(Model.class).getRouteDefinitions()) {
+            for (RouteDefinition route : camelContext.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions()) {
                 FromDefinition from = route.getInput();
                 if (from.getEndpointUri() != null && from.getEndpointUri().startsWith("rest-api:")) {
                     hasRestApi = true;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
index 0b22d14404f..270854e8407 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/RouteConfigurationBuilder.java
@@ -91,7 +91,7 @@ public abstract class RouteConfigurationBuilder extends RouteBuilder implements
         if (!list.isEmpty()) {
             // remove existing before updating
             for (RouteConfigurationDefinition def : list) {
-                context.getExtension(Model.class).removeRouteConfiguration(def);
+                context.getCamelContextExtension().getContextPlugin(Model.class).removeRouteConfiguration(def);
             }
             populateRoutesConfiguration();
         }
@@ -103,7 +103,7 @@ public abstract class RouteConfigurationBuilder extends RouteBuilder implements
             throw new IllegalArgumentException("CamelContext has not been injected!");
         }
         getRouteConfigurationCollection().setCamelContext(camelContext);
-        camelContext.getExtension(Model.class)
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                 .addRouteConfigurations(getRouteConfigurationCollection().getRouteConfigurations());
     }
 
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
index 3ca8cd4e635..9af98c62d0b 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
@@ -133,7 +133,7 @@ public abstract class DataFormatReifier<T extends DataFormatDefinition> extends
 
             // try to let resolver see if it can resolve it, its not always
             // possible
-            type = camelContext.getExtension(Model.class).resolveDataFormatDefinition(ref);
+            type = camelContext.getCamelContextExtension().getContextPlugin(Model.class).resolveDataFormatDefinition(ref);
 
             if (type == null) {
                 dataFormat = camelContext.resolveDataFormat(ref);
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
index 96d82a5790e..6703cb39236 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
@@ -60,7 +60,7 @@ public class StartAndStopRoutesTest extends ContextTestSupport {
         // lets mutate the route...
         FromDefinition fromType = route.getInput();
         fromType.setUri("direct:test.C");
-        context.getExtension(Model.class).addRouteDefinition(route);
+        context.getCamelContextExtension().getContextPlugin(Model.class).addRouteDefinition(route);
 
         // now lets check it works
         // send from C over B to results
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/health/HealthCheckResultStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/health/HealthCheckResultStrategyTest.java
index 2f5e493e586..ee327fb07e5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/health/HealthCheckResultStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/health/HealthCheckResultStrategyTest.java
@@ -62,7 +62,7 @@ public class HealthCheckResultStrategyTest extends ContextTestSupport {
                 = context.getCamelContextExtension().getHealthCheckResolver().resolveHealthCheck("myfoo");
         Assertions.assertNotNull(hc);
 
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         hcr.register(hc);
 
         Collection<HealthCheck.Result> col = HealthCheckHelper.invoke(context);
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/health/MyFooHealthCheckTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/health/MyFooHealthCheckTest.java
index 3f2b5543095..78af86ca0b7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/health/MyFooHealthCheckTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/health/MyFooHealthCheckTest.java
@@ -57,7 +57,7 @@ public class MyFooHealthCheckTest extends ContextTestSupport {
                 = context.getCamelContextExtension().getHealthCheckResolver().resolveHealthCheck("myfoo");
         Assertions.assertNotNull(hc);
 
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         hcr.register(hc);
 
         Collection<HealthCheck.Result> col = HealthCheckHelper.invoke(context);
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternExcludeTest.java b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternExcludeTest.java
index f687f9fb0dd..a2e42edb4aa 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternExcludeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternExcludeTest.java
@@ -29,7 +29,7 @@ public class ModelRouteFilterPatternExcludeTest extends ContextTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
         // filter to exclude bar
-        context.getExtension(Model.class).setRouteFilterPattern(null, "bar*");
+        context.getCamelContextExtension().getContextPlugin(Model.class).setRouteFilterPattern(null, "bar*");
         return context;
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeExcludeTest.java b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeExcludeTest.java
index 275e7c6652a..40c5f1a2518 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeExcludeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeExcludeTest.java
@@ -28,7 +28,7 @@ public class ModelRouteFilterPatternIncludeExcludeTest extends ContextTestSuppor
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.getExtension(Model.class).setRouteFilterPattern("foo*", "jms:*");
+        context.getCamelContextExtension().getContextPlugin(Model.class).setRouteFilterPattern("foo*", "jms:*");
         return context;
     }
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeTest.java b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeTest.java
index 9e3c9f8a60e..8bdf75bcecd 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/ModelRouteFilterPatternIncludeTest.java
@@ -29,7 +29,7 @@ public class ModelRouteFilterPatternIncludeTest extends ContextTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
         // filter to only include foo route
-        context.getExtension(Model.class).setRouteFilterPattern("foo*", null);
+        context.getCamelContextExtension().getContextPlugin(Model.class).setRouteFilterPattern("foo*", null);
         return context;
     }
 
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
index 65432dcba9c..4a407cb64b2 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
@@ -1216,7 +1216,7 @@ public abstract class BaseMainSupport extends BaseService {
         }
 
         // auto-detect camel-health on classpath
-        HealthCheckRegistry hcr = camelContext.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = camelContext.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr == null) {
             if (health.getEnabled() != null && health.getEnabled()) {
                 LOG.warn("Cannot find HealthCheckRegistry from classpath. Add camel-health to classpath.");
@@ -1316,7 +1316,7 @@ public abstract class BaseMainSupport extends BaseService {
         // set properties per console
         for (String key : keys) {
             String name = StringHelper.before(key, ".");
-            DevConsole console = camelContext.getExtension(DevConsoleRegistry.class).resolveById(name);
+            DevConsole console = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById(name);
             if (console == null) {
                 throw new IllegalArgumentException(
                         "Cannot resolve DevConsole with id: " + name);
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
index 84e23a03b74..7c9966403b0 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
@@ -310,7 +310,7 @@ public final class DefaultConfigurationConfigurer {
         }
 
         if (config.getRouteFilterIncludePattern() != null || config.getRouteFilterExcludePattern() != null) {
-            camelContext.getExtension(Model.class).setRouteFilterPattern(config.getRouteFilterIncludePattern(),
+            camelContext.getCamelContextExtension().getContextPlugin(Model.class).setRouteFilterPattern(config.getRouteFilterIncludePattern(),
                     config.getRouteFilterExcludePattern());
         }
 
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainHealthCheckExcludedPatternTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainHealthCheckExcludedPatternTest.java
index a541871f2b6..debb0f589e6 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainHealthCheckExcludedPatternTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainHealthCheckExcludedPatternTest.java
@@ -53,7 +53,7 @@ public class MainHealthCheckExcludedPatternTest {
             CamelContext camelContext = main.getCamelContext();
             assertNotNull(camelContext);
 
-            HealthCheckRegistry healthCheckRegistry = camelContext.getExtension(HealthCheckRegistry.class);
+            HealthCheckRegistry healthCheckRegistry = camelContext.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
             assertNotNull(healthCheckRegistry);
 
             Optional<HealthCheckRepository> routes = healthCheckRegistry.getRepository("routes");
@@ -96,7 +96,7 @@ public class MainHealthCheckExcludedPatternTest {
             // register custom health check
             camelContext.getRegistry().bind("custom", healthCheck);
 
-            HealthCheckRegistry healthCheckRegistry = camelContext.getExtension(HealthCheckRegistry.class);
+            HealthCheckRegistry healthCheckRegistry = camelContext.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
             assertNotNull(healthCheckRegistry);
 
             Optional<HealthCheckRepository> repository = healthCheckRegistry.getRepository("registry-health-check-repository");
@@ -137,7 +137,7 @@ public class MainHealthCheckExcludedPatternTest {
                 }
             };
 
-            HealthCheckRegistry healthCheckRegistry = camelContext.getExtension(HealthCheckRegistry.class);
+            HealthCheckRegistry healthCheckRegistry = camelContext.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
             assertNotNull(healthCheckRegistry);
 
             List<HealthCheck> healthChecks = healthCheckRegistry.stream().collect(Collectors.toList());
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index 3946fbd0efc..9fde1bfe502 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -240,7 +240,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
         enlistPreRegisteredServices();
 
         // register health check if detected
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr != null) {
             try {
                 Object me = getManagementObjectStrategy().getManagedObjectForCamelHealth(camelContext, hcr);
@@ -339,7 +339,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
             LOG.warn("Could not unregister CamelContext MBean", e);
         }
 
-        HealthCheckRegistry hcr = context.getExtension(HealthCheckRegistry.class);
+        HealthCheckRegistry hcr = context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class);
         if (hcr != null) {
             try {
                 Object mc = getManagementObjectStrategy().getManagedObjectForCamelHealth(context, hcr);
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
index e5ca40b7119..f27f79e37ac 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
@@ -55,7 +55,7 @@ public class ManagedCamelContextImpl implements ManagedCamelContext {
         }
 
         Processor processor = camelContext.getProcessor(id);
-        ProcessorDefinition def = camelContext.getExtension(Model.class).getProcessorDefinition(id);
+        ProcessorDefinition def = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);
 
         // processor may be null if its anonymous inner class or as lambda
         if (def != null) {
@@ -79,7 +79,7 @@ public class ManagedCamelContextImpl implements ManagedCamelContext {
         }
 
         Processor processor = camelContext.getProcessor(id);
-        ProcessorDefinition def = camelContext.getExtension(Model.class).getProcessorDefinition(id);
+        ProcessorDefinition def = camelContext.getCamelContextExtension().getContextPlugin(Model.class).getProcessorDefinition(id);
 
         // processor may be null if its anonymous inner class or as lambda
         if (def != null) {
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index 086c7ecd037..cf1cddc1c30 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -457,7 +457,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
 
     @Override
     public String dumpRestsAsXml(boolean resolvePlaceholders) throws Exception {
-        List<RestDefinition> rests = context.getExtension(Model.class).getRestDefinitions();
+        List<RestDefinition> rests = context.getCamelContextExtension().getContextPlugin(Model.class).getRestDefinitions();
         if (rests.isEmpty()) {
             return null;
         }
@@ -481,7 +481,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
 
     @Override
     public String dumpRoutesAsXml(boolean resolvePlaceholders, boolean resolveDelegateEndpoints) throws Exception {
-        List<RouteDefinition> routes = context.getExtension(Model.class).getRouteDefinitions();
+        List<RouteDefinition> routes = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinitions();
         if (routes.isEmpty()) {
             return null;
         }
@@ -496,7 +496,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
 
     @Override
     public String dumpRouteTemplatesAsXml() throws Exception {
-        List<RouteTemplateDefinition> templates = context.getExtension(Model.class).getRouteTemplateDefinitions();
+        List<RouteTemplateDefinition> templates = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteTemplateDefinitions();
         if (templates.isEmpty()) {
             return null;
         }
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 732237bc025..0d4d696dab4 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -394,7 +394,7 @@ public class ManagedRoute extends ManagedPerformanceCounter implements TimerList
     @Override
     public String dumpRouteAsXml(boolean resolvePlaceholders, boolean resolveDelegateEndpoints) throws Exception {
         String id = route.getId();
-        RouteDefinition def = context.getExtension(Model.class).getRouteDefinition(id);
+        RouteDefinition def = context.getCamelContextExtension().getContextPlugin(Model.class).getRouteDefinition(id);
         if (def != null) {
             ExtendedCamelContext ecc = context.getCamelContextExtension();
             return ecc.getModelToXMLDumper().dumpModelAsXml(context, def, resolvePlaceholders, resolveDelegateEndpoints);
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
index 70c087eb049..e3e3e908af2 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
@@ -113,7 +113,7 @@ public final class RouteCoverageXmlParser {
                 if (id != null) {
                     try {
                         if ("route".equals(qName)) {
-                            ManagedRouteMBean route = camelContext.getExtension(ManagedCamelContext.class).getManagedRoute(id);
+                            ManagedRouteMBean route = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute(id);
                             if (route != null) {
                                 long total = route.getExchangesTotal();
                                 el.setAttribute("exchangesTotal", "" + total);
@@ -126,7 +126,7 @@ public final class RouteCoverageXmlParser {
                             if (parent != null) {
                                 String routeId = parent.getAttribute("id");
                                 ManagedRouteMBean route
-                                        = camelContext.getExtension(ManagedCamelContext.class).getManagedRoute(routeId);
+                                        = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute(routeId);
                                 if (route != null) {
                                     long total = route.getExchangesTotal();
                                     el.setAttribute("exchangesTotal", "" + total);
@@ -138,7 +138,7 @@ public final class RouteCoverageXmlParser {
                             }
                         } else {
                             ManagedProcessorMBean processor
-                                    = camelContext.getExtension(ManagedCamelContext.class).getManagedProcessor(id);
+                                    = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedProcessor(id);
                             if (processor != null) {
                                 long total = processor.getExchangesTotal();
                                 el.setAttribute("exchangesTotal", "" + total);
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
index facf117215e..c84b956a289 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
@@ -159,7 +159,7 @@ public class ManagedAggregateControllerTest extends ManagementTestSupport {
         assertEquals(1, pending.intValue());
 
         // we can also use the client mbean
-        ManagedAggregateProcessorMBean client = context.getExtension(ManagedCamelContext.class)
+        ManagedAggregateProcessorMBean client = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class)
                 .getManagedProcessor("myAggregator", ManagedAggregateProcessorMBean.class);
         assertNotNull(client);
 
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 1f620e1a369..40a7b0cde56 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -60,7 +60,7 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
 
     @Test
     public void testManagedCamelContextClient() throws Exception {
-        ManagedCamelContextMBean client = context.getExtension(ManagedCamelContext.class).getManagedCamelContext();
+        ManagedCamelContextMBean client = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedCamelContext();
         assertNotNull(client);
 
         assertEquals("my-camel-context", client.getCamelId());
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedHealthCheckTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedHealthCheckTest.java
index 909ce1b787b..b367728c25d 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedHealthCheckTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedHealthCheckTest.java
@@ -87,7 +87,7 @@ public class ManagedHealthCheckTest extends ManagementTestSupport {
         template.sendBody("direct:start", "Hello World");
         assertMockEndpointsSatisfied();
 
-        context.getExtension(HealthCheckRegistry.class).register(new AbstractHealthCheck("custom", "myCheck") {
+        context.getCamelContextExtension().getContextPlugin(HealthCheckRegistry.class).register(new AbstractHealthCheck("custom", "myCheck") {
             @Override
             protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
                 // make it always down
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
index 2fa0a8aaa31..c926d920c9e 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
@@ -45,7 +45,7 @@ public class ManagedInlinedProcessorTest extends ManagementTestSupport {
         Long counter = (Long) mbeanServer.getAttribute(on, "ExchangesCompleted");
         assertEquals(1L, counter.longValue());
 
-        ManagedProcessorMBean mb = context.getExtension(ManagedCamelContext.class).getManagedProcessor("custom");
+        ManagedProcessorMBean mb = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedProcessor("custom");
         assertNotNull(mb);
         assertEquals(1L, mb.getExchangesCompleted());
     }
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
index 35fe2ce41b7..b74e812cbe3 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
@@ -83,7 +83,7 @@ public class ManagedRouteSuspendAndResumeTest extends ManagementTestSupport {
         mock.assertIsSatisfied();
 
         ManagedSuspendableRouteMBean route
-                = context.getExtension(ManagedCamelContext.class).getManagedRoute("foo", ManagedSuspendableRouteMBean.class);
+                = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class).getManagedRoute("foo", ManagedSuspendableRouteMBean.class);
         assertNotNull(route);
 
         assertEquals(2, route.getExchangesCompleted());
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStepTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStepTest.java
index 3f7cb1f4b13..3b481dd95ca 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStepTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStepTest.java
@@ -65,7 +65,7 @@ public class ManagedStepTest extends ManagementTestSupport {
         String state = (String) mbeanServer.getAttribute(on, "State");
         assertEquals(ServiceStatus.Started.name(), state);
 
-        ManagedCamelContext mcc = context.getExtension(ManagedCamelContext.class);
+        ManagedCamelContext mcc = context.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
         ManagedStepMBean step = mcc.getManagedStep("foo");
 
         assertEquals("foo", step.getProcessorId());
diff --git a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
index e2172bde9ab..96b5d76add9 100644
--- a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
+++ b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
@@ -255,26 +255,26 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C
                 }
                 reloader.onReload("Camel CLI");
             } else if ("reset-stats".equals(action)) {
-                ManagedCamelContext mcc = camelContext.getExtension(ManagedCamelContext.class);
+                ManagedCamelContext mcc = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class);
                 if (mcc != null) {
                     mcc.getManagedCamelContext().reset(true);
                 }
             } else if ("thread-dump".equals(action)) {
-                DevConsole dc = camelContext.getExtension(DevConsoleRegistry.class).resolveById("thread");
+                DevConsole dc = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById("thread");
                 if (dc != null) {
                     JsonObject json = (JsonObject) dc.call(DevConsole.MediaType.JSON, Map.of("stackTrace", "true"));
                     LOG.trace("Updating output file: {}", outputFile);
                     IOHelper.writeText(json.toJson(), outputFile);
                 }
             } else if ("top-processors".equals(action)) {
-                DevConsole dc = camelContext.getExtension(DevConsoleRegistry.class).resolveById("top");
+                DevConsole dc = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById("top");
                 if (dc != null) {
                     JsonObject json = (JsonObject) dc.call(DevConsole.MediaType.JSON, Map.of(Exchange.HTTP_PATH, "/*"));
                     LOG.trace("Updating output file: {}", outputFile);
                     IOHelper.writeText(json.toJson(), outputFile);
                 }
             } else if ("source".equals(action)) {
-                DevConsole dc = camelContext.getExtension(DevConsoleRegistry.class).resolveById("source");
+                DevConsole dc = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById("source");
                 if (dc != null) {
                     String filter = root.getString("filter");
                     JsonObject json = (JsonObject) dc.call(DevConsole.MediaType.JSON, Map.of("filter", filter));
@@ -282,7 +282,7 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C
                     IOHelper.writeText(json.toJson(), outputFile);
                 }
             } else if ("route-controller".equals(action)) {
-                DevConsole dc = camelContext.getExtension(DevConsoleRegistry.class).resolveById("route-controller");
+                DevConsole dc = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById("route-controller");
                 if (dc != null) {
                     String stacktrace = root.getString("stacktrace");
                     JsonObject json = (JsonObject) dc.call(DevConsole.MediaType.JSON, Map.of("stacktrace", stacktrace));
@@ -344,7 +344,7 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C
             }
             root.put("runtime", rc);
 
-            DevConsoleRegistry dcr = camelContext.getExtension(DevConsoleRegistry.class);
+            DevConsoleRegistry dcr = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
             if (dcr != null) {
                 // collect details via console
                 DevConsole dc = dcr.resolveById("context");
@@ -421,7 +421,7 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C
                         root.put("fault-tolerance", json);
                     }
                 }
-                DevConsole dc12 = camelContext.getExtension(DevConsoleRegistry.class).resolveById("trace");
+                DevConsole dc12 = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class).resolveById("trace");
                 if (dc12 != null) {
                     JsonObject json = (JsonObject) dc12.call(DevConsole.MediaType.JSON);
                     JsonArray arr = json.getCollection("traces");
diff --git a/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java b/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
index 0fab0feddb3..5cde309d111 100644
--- a/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
+++ b/dsl/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointRouteConfigurationBuilder.java
@@ -91,7 +91,8 @@ public abstract class EndpointRouteConfigurationBuilder extends EndpointRouteBui
         if (!list.isEmpty()) {
             // remove existing before updating
             for (RouteConfigurationDefinition def : list) {
-                context.getExtension(Model.class).removeRouteConfiguration(def);
+                context.getCamelContextExtension().getContextPlugin(Model.class)
+                        .removeRouteConfiguration(def);
             }
             populateRoutesConfiguration();
         }
@@ -103,7 +104,7 @@ public abstract class EndpointRouteConfigurationBuilder extends EndpointRouteBui
             throw new IllegalArgumentException("CamelContext has not been injected!");
         }
         getRouteConfigurationCollection().setCamelContext(camelContext);
-        camelContext.getExtension(Model.class)
+        camelContext.getCamelContextExtension().getContextPlugin(Model.class)
                 .addRouteConfigurations(getRouteConfigurationCollection().getRouteConfigurations());
     }
 
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/http/VertxHttpServer.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/http/VertxHttpServer.java
index ad8be611078..6f274e66eaf 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/http/VertxHttpServer.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/http/VertxHttpServer.java
@@ -197,7 +197,7 @@ public final class VertxHttpServer {
 
                 ctx.response().putHeader("content-type", "text/plain");
 
-                DevConsoleRegistry dcr = context.getExtension(DevConsoleRegistry.class);
+                DevConsoleRegistry dcr = context.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
                 if (dcr == null || !dcr.isEnabled()) {
                     ctx.end("Developer Console is not enabled");
                     return;