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/02/25 14:14:05 UTC

[camel] 01/13: CAMEL-15105: decouple the ExtendedCamelContext from the CamelContext

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 19a5786d44408d65e25f285f8530490e01dbc90a
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Feb 17 14:06:51 2023 +0100

    CAMEL-15105: decouple the ExtendedCamelContext from the CamelContext
    
    - This removes the CamelContext from the type hierarchy of ExtendedCamelContext
---
 .../camel/component/cometd/CometdConsumerTest.java |   9 +-
 .../component/debug/CamelDebuggerFactory.java      |   3 +-
 .../DynamicRouterBasicSynchronousIT.java           |   2 +-
 .../integration/DynamicRouterUriControlIT.java     |   2 +-
 .../support/DynamicRouterTestSupport.java          |   9 +-
 .../camel/component/irc/IrcConsumerTest.java       |  12 +-
 .../component/jms/JmsInOnlyPooledExchangeTest.java |   2 +-
 .../org/apache/camel/jta/JtaTransactionPolicy.java |   2 +-
 .../camel/component/kafka/KafkaConsumerTest.java   |  10 +-
 .../camel/component/kafka/KafkaProducerTest.java   |   5 +-
 .../camel/component/kamelet/KameletComponent.java  |   4 +-
 .../camel/component/knative/KnativeEndpoint.java   |   5 +-
 .../camel/component/knative/KnativeProducer.java   |   5 +-
 .../mail/MailConsumerAuthenticatorTest.java        |   6 +-
 .../component/metrics/MetricsComponentTest.java    |  18 +-
 .../http/NettyHttpSimplePooledExchangeTest.java    |   2 +-
 .../openstack/AbstractProducerTestSupport.java     |   8 +-
 .../apache/camel/pgevent/PgEventConsumerTest.java  |  16 +-
 .../salesforce/SalesforceConsumerTest.java         |   7 +-
 .../sjms/consumer/InOnlyPooledExchangeTest.java    |   2 +-
 .../camel/component/smpp/SmppConsumerTest.java     |  11 +-
 .../camel/spring/spi/SpringTransactionPolicy.java  |   2 +-
 .../apache/camel/component/stub/StubComponent.java |   2 +-
 .../main/java/org/apache/camel/CamelContext.java   |   3 +-
 .../org/apache/camel/ExtendedCamelContext.java     |  14 +-
 .../camel/impl/engine/AbstractCamelContext.java    |   4 +-
 .../camel/impl/engine/AbstractDynamicRegistry.java |   6 +-
 .../impl/engine/CamelPostProcessorHelper.java      |   4 +-
 .../engine/DefaultAutowiredLifecycleStrategy.java  |   6 +-
 ...efaultDependencyInjectionAnnotationFactory.java |  10 +-
 .../camel/impl/engine/DefaultResourceLoader.java   |   4 +-
 .../impl/engine/DefaultResourceResolvers.java      |   3 -
 .../camel/impl/engine/DefaultRouteController.java  |   8 +-
 .../camel/impl/engine/DefaultRoutesLoader.java     |   6 +-
 .../engine/DefaultServiceBootstrapCloseable.java   |   2 +-
 .../camel/impl/engine/DefaultUnitOfWork.java       |   9 +-
 .../camel/impl/console/EndpointDevConsole.java     |   5 +-
 .../impl/CamelContextJSonSchemaResolver.java       |   2 +-
 .../camel/impl/ExtendedCamelContextConfigurer.java | 333 ---------------------
 .../java/org/apache/camel/impl/DefaultModel.java   |   2 +-
 .../camel/impl/lw/LightweightCamelContext.java     |   8 +-
 .../impl/lw/LightweightRuntimeCamelContext.java    |   7 +-
 .../camel/language/csimple/CSimpleLanguage.java    |   6 +-
 .../java/org/apache/camel/builder/AdviceWith.java  |   2 +-
 .../camel/builder/TemplatedRouteBuilder.java       |   2 +-
 .../apache/camel/builder/TransformerBuilder.java   |   2 +-
 .../org/apache/camel/builder/ValidatorBuilder.java |   2 +-
 .../apache/camel/model/RouteDefinitionHelper.java  |   2 +-
 .../org/apache/camel/model/RoutesDefinition.java   |   2 +-
 .../model/errorhandler/ErrorHandlerHelper.java     |   2 +-
 .../camel/model/language/ExpressionDefinition.java |   4 +-
 .../org/apache/camel/processor/PollEnricher.java   |   4 +-
 .../camel/processor/RecipientListProcessor.java    |   4 +-
 .../org/apache/camel/processor/RoutingSlip.java    |   4 +-
 .../camel/processor/SendDynamicProcessor.java      |   4 +-
 .../org/apache/camel/processor/SendProcessor.java  |   7 +-
 .../apache/camel/processor/UnitOfWorkProducer.java |   6 +-
 .../errorhandler/RedeliveryErrorHandler.java       |  10 +-
 .../org/apache/camel/reifier/ProcessorReifier.java |   2 +-
 .../org/apache/camel/reifier/RouteReifier.java     |   2 +-
 .../errorhandler/ErrorHandlerRefReifier.java       |   2 +-
 .../errorhandler/LegacyErrorHandlerRefReifier.java |   2 +-
 .../core/xml/AbstractCamelContextFactoryBean.java  |   4 +-
 .../camel/builder/RouteModelLifecycleTest.java     |   2 +-
 .../builder/RouteTemplateModelLifecycleTest.java   |   2 +-
 .../file/FileConsumerDeleteExchangePooledTest.java |   2 +-
 .../impl/EventDrivenPollingConsumerCopyTest.java   |   6 +-
 .../apache/camel/impl/ModelCamelContextTest.java   |   2 +-
 .../processor/BatchConsumerPooledExchangeTest.java |   2 +-
 .../apache/camel/processor/PooledExchangeTest.java |   2 +-
 .../camel/main/DefaultConfigurationConfigurer.java |  30 +-
 .../camel/main/MainAutowiredLifecycleStrategy.java |   6 +-
 .../camel/main/MainSupportModelConfigurer.java     |   2 +-
 .../java/org/apache/camel/main/MainIoCTest.java    |   2 +-
 .../apache/camel/main/MainRouteTemplateTest.java   |   4 +-
 .../main/MainTemplatedRoutePlaceholderTest.java    |   2 +-
 .../apache/camel/main/MainTemplatedRouteTest.java  |   4 +-
 .../management/mbean/ManagedCamelContext.java      |   2 +-
 .../camel/management/mbean/ManagedRoute.java       |   2 +-
 .../org/apache/camel/support/DefaultMessage.java   |   8 +-
 .../org/apache/camel/support/MessageSupport.java   |   5 +-
 .../camel/support/cache/DefaultProducerCache.java  |  13 +-
 .../camel/support/cache/EmptyProducerCache.java    |   6 +-
 .../camel/dsl/java/joor/JavaMainRestsTest.java     |   2 +-
 .../camel/dsl/java/joor/JavaMainTemplateTest.java  |   2 +-
 .../java/org/apache/camel/main/KameletMain.java    |   2 +-
 .../main/download/CircuitBreakerDownloader.java    |   6 +-
 .../download/DependencyDownloaderRoutesLoader.java |   4 +-
 .../camel/dsl/xml/io/XmlRoutesBuilderLoader.java   |   2 +-
 .../apache/camel/dsl/xml/io/XmlMainRestsTest.java  |   2 +-
 .../camel/dsl/xml/io/XmlMainTemplateTest.java      |   2 +-
 .../XmlMainTemplatedRouteFromDifferentDSLTest.java |   4 +-
 .../camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java   |   2 +-
 .../dsl/xml/jaxb/JaxbXmlMainTemplateTest.java      |   2 +-
 .../yaml/common/YamlDeserializationContext.java    |   5 +-
 .../apache/camel/dsl/yaml/common/YamlSupport.java  |   5 +-
 .../ErrorHandlerBuilderDeserializer.java           |   2 +-
 .../camel/dsl/yaml/EmptyRouteFileTest.groovy       |   3 +-
 ...ComponentConfigurationAndDocumentationTest.java |   4 +-
 ...ComponentConfigurationAndDocumentationTest.java |   2 +-
 .../camel/itest/doc/EipDocumentationTest.java      |  10 +-
 ...yLanguageConfigurationAndDocumentationTest.java |   2 +-
 ...eLanguageConfigurationAndDocumentationTest.java |   2 +-
 ...ataFormatConfigurationAndDocumentationTest.java |   2 +-
 104 files changed, 267 insertions(+), 559 deletions(-)

diff --git a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdConsumerTest.java b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdConsumerTest.java
index 51b7fcca5e1..31d5a2d4e1d 100644
--- a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdConsumerTest.java
+++ b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdConsumerTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.cometd;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.component.cometd.CometdConsumer.ConsumerService;
@@ -46,7 +47,9 @@ public class CometdConsumerTest {
     private static final String USER_NAME = "userName";
     private CometdConsumer testObj;
     @Mock
-    private ExtendedCamelContext context;
+    private CamelContext context;
+    @Mock
+    private ExtendedCamelContext ecc;
     @Mock
     private ExchangeFactory exchangeFactory;
     @Mock
@@ -73,8 +76,8 @@ public class CometdConsumerTest {
         when(markedReferenceServerChannel.getReference()).thenReturn(serverChannel);
 
         when(endpoint.getCamelContext()).thenReturn(context);
-        when(context.adapt(ExtendedCamelContext.class)).thenReturn(context);
-        when(context.getExchangeFactory()).thenReturn(exchangeFactory);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getExchangeFactory()).thenReturn(exchangeFactory);
         when(exchangeFactory.newExchangeFactory(any())).thenReturn(exchangeFactory);
 
         testObj = new CometdConsumer(endpoint, processor);
diff --git a/components/camel-debug/src/main/java/org/apache/camel/component/debug/CamelDebuggerFactory.java b/components/camel-debug/src/main/java/org/apache/camel/component/debug/CamelDebuggerFactory.java
index 6bff00834a1..5f4c43decaf 100644
--- a/components/camel-debug/src/main/java/org/apache/camel/component/debug/CamelDebuggerFactory.java
+++ b/components/camel-debug/src/main/java/org/apache/camel/component/debug/CamelDebuggerFactory.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.debug;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.impl.debugger.BacklogDebugger;
 import org.apache.camel.spi.Debugger;
 import org.apache.camel.spi.DebuggerFactory;
@@ -36,7 +35,7 @@ public class CamelDebuggerFactory implements DebuggerFactory {
 
         BacklogDebugger backlog = BacklogDebugger.createDebugger(camelContext);
         // we need to enable debugger after context is started
-        camelContext.adapt(ExtendedCamelContext.class).addLifecycleStrategy(new LifecycleStrategySupport() {
+        camelContext.addLifecycleStrategy(new LifecycleStrategySupport() {
             @Override
             public void onContextStarted(CamelContext context) {
                 backlog.enableDebugger();
diff --git a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterBasicSynchronousIT.java b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterBasicSynchronousIT.java
index 6e62dafbf99..ff1bed4dd30 100644
--- a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterBasicSynchronousIT.java
+++ b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterBasicSynchronousIT.java
@@ -137,7 +137,7 @@ public class DynamicRouterBasicSynchronousIT extends CamelTestSupport {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
-        ExtendedCamelContext context = super.createCamelContext().adapt(ExtendedCamelContext.class);
+        CamelContext context = super.createCamelContext();
         context.addComponent(COMPONENT_SCHEME, new DynamicRouterComponent());
         return context;
     }
diff --git a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterUriControlIT.java b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterUriControlIT.java
index 63601e9206f..e6c994fdab7 100644
--- a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterUriControlIT.java
+++ b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/integration/DynamicRouterUriControlIT.java
@@ -187,7 +187,7 @@ public class DynamicRouterUriControlIT extends CamelTestSupport {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
-        ExtendedCamelContext context = super.createCamelContext().adapt(ExtendedCamelContext.class);
+        CamelContext context = super.createCamelContext();
         context.addComponent(COMPONENT_SCHEME, new DynamicRouterComponent());
         return context;
     }
diff --git a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/support/DynamicRouterTestSupport.java b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/support/DynamicRouterTestSupport.java
index 3deffb2b01c..9e7cbd53dcc 100644
--- a/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/support/DynamicRouterTestSupport.java
+++ b/components/camel-dynamic-router/src/test/java/org/apache/camel/component/dynamicrouter/support/DynamicRouterTestSupport.java
@@ -74,7 +74,10 @@ public class DynamicRouterTestSupport extends CamelTestSupport {
     public static final String TEST_PREDICATE = "testPredicate";
 
     @Mock
-    protected ExtendedCamelContext context;
+    protected CamelContext context;
+
+    @Mock
+    protected ExtendedCamelContext ecc;
 
     @Mock
     protected ExchangeFactory exchangeFactory;
@@ -169,8 +172,8 @@ public class DynamicRouterTestSupport extends CamelTestSupport {
         lenient().when(endpoint.getDynamicRouterComponent()).thenReturn(component);
         lenient().when(endpoint.getConfiguration()).thenReturn(configuration);
 
-        lenient().when(context.adapt(ExtendedCamelContext.class)).thenReturn(context);
-        lenient().when(context.getExchangeFactory()).thenReturn(exchangeFactory);
+        lenient().when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        lenient().when(ecc.getExchangeFactory()).thenReturn(exchangeFactory);
         lenient().when(context.resolveLanguage("simple")).thenReturn(simpleLanguage);
         lenient().when(context.getExecutorServiceManager()).thenReturn(executorServiceManager);
 
diff --git a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
index 13851b76014..1b57abce23e 100644
--- a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
+++ b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.irc;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.ExchangeFactory;
@@ -34,7 +35,9 @@ import static org.mockito.Mockito.when;
 
 public class IrcConsumerTest {
 
-    private ExtendedCamelContext context;
+    private CamelContext context;
+    private ExtendedCamelContext ecc;
+
     private ExchangeFactory exchangeFactory;
     private IRCConnection connection;
     private Processor processor;
@@ -50,7 +53,8 @@ public class IrcConsumerTest {
         processor = mock(Processor.class);
         configuration = mock(IrcConfiguration.class);
         listener = mock(IRCEventAdapter.class);
-        context = mock(ExtendedCamelContext.class);
+        context = mock(CamelContext.class);
+        ecc = mock(ExtendedCamelContext.class);
         exchangeFactory = mock(ExchangeFactory.class);
 
         List<IrcChannel> channels = new ArrayList<>();
@@ -61,8 +65,8 @@ public class IrcConsumerTest {
         when(endpoint.getConfiguration()).thenReturn(configuration);
 
         when(endpoint.getCamelContext()).thenReturn(context);
-        when(context.adapt(ExtendedCamelContext.class)).thenReturn(context);
-        when(context.getExchangeFactory()).thenReturn(exchangeFactory);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getExchangeFactory()).thenReturn(exchangeFactory);
         when(exchangeFactory.newExchangeFactory(any())).thenReturn(exchangeFactory);
 
         consumer = new IrcConsumer(endpoint, processor, connection);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
index a0f728b8b82..e649ff32a8a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
@@ -92,7 +92,7 @@ public class JmsInOnlyPooledExchangeTest extends AbstractJMSTest {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        return ecc;
+        return (CamelContext) ecc;
     }
 
     @Override
diff --git a/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java b/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
index 5cf593559c4..0b9e4c67dfe 100644
--- a/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
+++ b/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionPolicy.java
@@ -135,7 +135,7 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
             ErrorHandlerFactory builder) {
         JtaTransactionErrorHandler answer;
         try {
-            ModelCamelContext mcc = route.getCamelContext().adapt(ModelCamelContext.class);
+            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
             answer = (JtaTransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
         } catch (Exception e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerTest.java
index 426f12b2d9f..388db7db35a 100644
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerTest.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.kafka;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.ExchangeFactory;
@@ -34,13 +35,14 @@ public class KafkaConsumerTest {
     private KafkaComponent component = mock(KafkaComponent.class);
     private KafkaEndpoint endpoint = mock(KafkaEndpoint.class);
     private Processor processor = mock(Processor.class);
+    private CamelContext context = mock(CamelContext.class);
     private ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
     private ExchangeFactory ef = mock(ExchangeFactory.class);
 
     @Test
     public void consumerRequiresBootstrapServers() {
-        when(endpoint.getCamelContext()).thenReturn(ecc);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(endpoint.getCamelContext()).thenReturn(context);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(endpoint.getComponent()).thenReturn(component);
@@ -56,8 +58,8 @@ public class KafkaConsumerTest {
 
     @Test
     public void consumerOnlyRequiresBootstrapServers() {
-        when(endpoint.getCamelContext()).thenReturn(ecc);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(endpoint.getCamelContext()).thenReturn(context);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(endpoint.getComponent()).thenReturn(component);
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
index b8b36616b6b..db3f9c0bedc 100755
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
@@ -70,7 +70,8 @@ public class KafkaProducerTest {
     private TypeConverter converter = Mockito.mock(TypeConverter.class);
     private CamelContext context = Mockito.mock(CamelContext.class);
     private Exchange exchange = Mockito.mock(Exchange.class);
-    private ExtendedCamelContext camelContext = Mockito.mock(ExtendedCamelContext.class);
+    private CamelContext camelContext = Mockito.mock(CamelContext.class);
+    private ExtendedCamelContext ecc = Mockito.mock(ExtendedCamelContext.class);
     private Message in = new DefaultMessage(camelContext);
     private AsyncCallback callback = Mockito.mock(AsyncCallback.class);
 
@@ -100,7 +101,7 @@ public class KafkaProducerTest {
         Mockito.when(exchange.getContext()).thenReturn(context);
         Mockito.when(context.getTypeConverter()).thenReturn(converter);
         Mockito.when(converter.tryConvertTo(String.class, exchange, null)).thenReturn(null);
-        Mockito.when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(camelContext);
+        Mockito.when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         Mockito.when(camelContext.adapt(ExtendedCamelContext.class).getHeadersMapFactory())
                 .thenReturn(new DefaultHeadersMapFactory());
         Mockito.when(camelContext.getTypeConverter()).thenReturn(converter);
diff --git a/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java b/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
index 677a397f62b..b54205a8ed0 100644
--- a/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
+++ b/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
@@ -227,7 +227,7 @@ public class KameletComponent extends DefaultComponent {
             // Add a custom converter to convert a RouteTemplateDefinition to a RouteDefinition
             // and make sure consumer URIs are unique.
             //
-            getCamelContext().adapt(ModelCamelContext.class).addRouteTemplateDefinitionConverter(
+            ((ModelCamelContext) getCamelContext()).addRouteTemplateDefinitionConverter(
                     templateId,
                     Kamelet::templateToRoute);
         }
@@ -393,7 +393,7 @@ public class KameletComponent extends DefaultComponent {
         }
 
         public void createRouteForEndpoint(KameletEndpoint endpoint) throws Exception {
-            final ModelCamelContext context = getCamelContext().adapt(ModelCamelContext.class);
+            final ModelCamelContext context = (ModelCamelContext) getCamelContext();
             final String templateId = endpoint.getTemplateId();
             final String routeId = endpoint.getRouteId();
             final String loc = endpoint.getLocation() != null ? endpoint.getLocation() : getLocation();
diff --git a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
index f0f49a275be..de44eff6919 100644
--- a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
+++ b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java
@@ -24,6 +24,7 @@ import java.util.Optional;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.ExtendedCamelContext;
@@ -115,8 +116,8 @@ public class KnativeEndpoint extends DefaultEndpoint {
         if (replyProcessor != null) {
             list.add(replyProcessor);
         }
-        ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
-        Processor pipeline = ecc.getProcessorFactory().createProcessor(ecc, "Pipeline", new Object[] { list });
+        CamelContext ecc = getCamelContext();
+        Processor pipeline = ((ExtendedCamelContext) ecc).getProcessorFactory().createProcessor(ecc, "Pipeline", new Object[] { list });
 
         Consumer consumer = getComponent().getConsumerFactory().createConsumer(this,
                 createTransportConfiguration(service), service, pipeline);
diff --git a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeProducer.java b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeProducer.java
index 9667c1ca915..0099c040349 100644
--- a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeProducer.java
+++ b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeProducer.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.AsyncProcessor;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
@@ -40,8 +41,8 @@ public class KnativeProducer extends DefaultAsyncProducer {
         elements.add(processor);
         Collections.addAll(elements, processors);
 
-        ExtendedCamelContext ecc = getEndpoint().getCamelContext().adapt(ExtendedCamelContext.class);
-        Processor pipeline = ecc.getProcessorFactory().createProcessor(ecc, "Pipeline", new Object[] { elements });
+        CamelContext ecc = getEndpoint().getCamelContext();
+        Processor pipeline = ((ExtendedCamelContext) ecc).getProcessorFactory().createProcessor(ecc, "Pipeline", new Object[] { elements });
 
         this.processor = AsyncProcessorConverterHelper.convert(pipeline);
     }
diff --git a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConsumerAuthenticatorTest.java b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConsumerAuthenticatorTest.java
index dab55a497fd..9f02157b71a 100644
--- a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConsumerAuthenticatorTest.java
+++ b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailConsumerAuthenticatorTest.java
@@ -22,6 +22,7 @@ import jakarta.mail.MessagingException;
 import jakarta.mail.PasswordAuthentication;
 import jakarta.mail.Session;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.ExchangeFactory;
@@ -53,11 +54,12 @@ public class MailConsumerAuthenticatorTest {
 
         JavaMailSender sender = Mockito.mock(JavaMailSender.class);
         Processor processor = Mockito.mock(Processor.class);
+        CamelContext camelContext = Mockito.mock(CamelContext.class);
         ExtendedCamelContext ecc = Mockito.mock(ExtendedCamelContext.class);
         ExchangeFactory ef = Mockito.mock(ExchangeFactory.class);
 
         MailEndpoint endpoint = new MailEndpoint();
-        endpoint.setCamelContext(ecc);
+        endpoint.setCamelContext(camelContext);
         MailConfiguration configuration = new MailConfiguration();
         configuration.setAuthenticator(authenticator);
         configuration.configureProtocol(protocol);
@@ -70,7 +72,7 @@ public class MailConsumerAuthenticatorTest {
         Session session = Session.getDefaultInstance(props, authenticator);
 
         when(sender.getSession()).thenReturn(session);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
index ff1a6cc0251..da7099222bf 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import com.codahale.metrics.MetricRegistry;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.RuntimeCamelException;
@@ -50,7 +51,10 @@ import static org.mockito.Mockito.when;
 public class MetricsComponentTest {
 
     @Mock
-    private ExtendedCamelContext camelContext;
+    private CamelContext camelContext;
+
+    @Mock
+    private ExtendedCamelContext ecc;
 
     @Mock
     private Registry camelRegistry;
@@ -75,9 +79,9 @@ public class MetricsComponentTest {
         when(camelContext.resolvePropertyPlaceholders(anyString())).then(returnsFirstArg());
         when(camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class))
                 .thenReturn(metricRegistry);
-        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(camelContext);
-        when(camelContext.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection());
-        when(camelContext.getConfigurerResolver()).thenReturn((name, context) -> null);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection());
+        when(ecc.getConfigurerResolver()).thenReturn((name, context) -> null);
 
         Map<String, Object> params = new HashMap<>();
         Long value = System.currentTimeMillis();
@@ -104,9 +108,9 @@ public class MetricsComponentTest {
         when(camelContext.resolvePropertyPlaceholders(anyString())).then(returnsFirstArg());
         when(camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class))
                 .thenReturn(metricRegistry);
-        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(camelContext);
-        when(camelContext.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection());
-        when(camelContext.getConfigurerResolver()).thenReturn((name, context) -> null);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection());
+        when(ecc.getConfigurerResolver()).thenReturn((name, context) -> null);
 
         Map<String, Object> params = new HashMap<>();
         Long value = System.currentTimeMillis();
diff --git a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpSimplePooledExchangeTest.java b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpSimplePooledExchangeTest.java
index f00b9fbe44a..d2439a5427f 100644
--- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpSimplePooledExchangeTest.java
+++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpSimplePooledExchangeTest.java
@@ -46,7 +46,7 @@ public class NettyHttpSimplePooledExchangeTest extends BaseNettyTest {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        return ecc;
+        return (CamelContext) ecc;
     }
 
     @Order(1)
diff --git a/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/AbstractProducerTestSupport.java b/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/AbstractProducerTestSupport.java
index ab17df08455..eb234481aaf 100644
--- a/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/AbstractProducerTestSupport.java
+++ b/components/camel-openstack/src/test/java/org/apache/camel/component/openstack/AbstractProducerTestSupport.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.openstack;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Message;
@@ -40,7 +41,10 @@ public abstract class AbstractProducerTestSupport {
     protected Exchange exchange;
 
     @Mock
-    protected ExtendedCamelContext camelContext;
+    protected CamelContext camelContext;
+
+    @Mock
+    protected ExtendedCamelContext ecc;
 
     protected Message msg;
 
@@ -50,7 +54,7 @@ public abstract class AbstractProducerTestSupport {
     public void before() {
         msg = new DefaultMessage(camelContext);
         when(exchange.getIn()).thenReturn(msg);
-        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(camelContext);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(camelContext.adapt(ExtendedCamelContext.class).getHeadersMapFactory()).thenReturn(new DefaultHeadersMapFactory());
     }
 }
diff --git a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
index 10e0f3e0afe..db1fa952f7c 100644
--- a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
+++ b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/PgEventConsumerTest.java
@@ -20,6 +20,7 @@ import java.sql.PreparedStatement;
 
 import com.impossibl.postgres.api.jdbc.PGConnection;
 import com.impossibl.postgres.jdbc.PGDataSource;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeExtension;
 import org.apache.camel.ExtendedCamelContext;
@@ -48,11 +49,12 @@ public class PgEventConsumerTest {
         PreparedStatement statement = mock(PreparedStatement.class);
         PgEventEndpoint endpoint = mock(PgEventEndpoint.class);
         Processor processor = mock(Processor.class);
+        CamelContext camelContext = mock(CamelContext.class);
         ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
         ExchangeFactory ef = mock(ExchangeFactory.class);
 
-        when(endpoint.getCamelContext()).thenReturn(ecc);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(endpoint.getCamelContext()).thenReturn(camelContext);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(endpoint.getDatasource()).thenReturn(dataSource);
@@ -74,11 +76,12 @@ public class PgEventConsumerTest {
         PreparedStatement statement = mock(PreparedStatement.class);
         PgEventEndpoint endpoint = mock(PgEventEndpoint.class);
         Processor processor = mock(Processor.class);
+        CamelContext camelContext = mock(CamelContext.class);
         ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
         ExchangeFactory ef = mock(ExchangeFactory.class);
 
-        when(endpoint.getCamelContext()).thenReturn(ecc);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(endpoint.getCamelContext()).thenReturn(camelContext);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(endpoint.getDatasource()).thenReturn(dataSource);
@@ -103,11 +106,12 @@ public class PgEventConsumerTest {
         Exchange exchange = mock(Exchange.class);
         ExchangeExtension exchangeExtension = mock(ExchangeExtension.class);
         Message message = mock(Message.class);
+        CamelContext camelContext = mock(CamelContext.class);
         ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
         ExchangeFactory ef = mock(ExchangeFactory.class);
 
-        when(endpoint.getCamelContext()).thenReturn(ecc);
-        when(ecc.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(endpoint.getCamelContext()).thenReturn(camelContext);
+        when(camelContext.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
         when(ecc.getExchangeFactory()).thenReturn(ef);
         when(ef.newExchangeFactory(any())).thenReturn(ef);
         when(ef.create(endpoint, false)).thenReturn(exchange);
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java
index 6bdfde0c6f4..7370f1c9f2d 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java
@@ -89,7 +89,8 @@ public class SalesforceConsumerTest {
     ExchangeExtension exchangeExtension = mock(ExchangeExtension.class);
     org.apache.camel.Message in = mock(org.apache.camel.Message.class);
     AsyncProcessor processor = mock(AsyncProcessor.class);
-    ExtendedCamelContext context = mock(ExtendedCamelContext.class);
+    CamelContext context = mock(CamelContext.class);
+    ExtendedCamelContext ecc = mock(ExtendedCamelContext.class);
     ExchangeFactory exchangeFactory = mock(ExchangeFactory.class);
     Message pushTopicMessage;
 
@@ -106,8 +107,8 @@ public class SalesforceConsumerTest {
     public void setupMocks() {
         when(endpoint.getConfiguration()).thenReturn(configuration);
         when(endpoint.getCamelContext()).thenReturn(context);
-        when(context.adapt(ExtendedCamelContext.class)).thenReturn(context);
-        when(context.getExchangeFactory()).thenReturn(exchangeFactory);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getExchangeFactory()).thenReturn(exchangeFactory);
         when(exchangeFactory.newExchangeFactory(any())).thenReturn(exchangeFactory);
         when(exchangeFactory.create(endpoint, true)).thenReturn(exchange);
         when(exchange.getExchangeExtension()).thenReturn(exchangeExtension);
diff --git a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOnlyPooledExchangeTest.java b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOnlyPooledExchangeTest.java
index c57b09343bf..38f02df8616 100644
--- a/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOnlyPooledExchangeTest.java
+++ b/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/consumer/InOnlyPooledExchangeTest.java
@@ -45,7 +45,7 @@ public class InOnlyPooledExchangeTest extends JmsTestSupport {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        return ecc;
+        return (CamelContext) ecc;
     }
 
     @Test
diff --git a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppConsumerTest.java b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppConsumerTest.java
index bfea4f8c7af..323672c9400 100644
--- a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppConsumerTest.java
+++ b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppConsumerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.smpp;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.ExchangeFactory;
@@ -43,7 +44,8 @@ import static org.mockito.Mockito.when;
 public class SmppConsumerTest {
 
     private ExchangeFactory exchangeFactory;
-    private ExtendedCamelContext context;
+    private CamelContext context;
+    private ExtendedCamelContext ecc;
     private SmppConsumer consumer;
     private SmppEndpoint endpoint;
     private SmppConfiguration configuration;
@@ -56,15 +58,16 @@ public class SmppConsumerTest {
         configuration.setServiceType("CMT");
         configuration.setSystemType("cp");
         configuration.setPassword("password");
-        context = mock(ExtendedCamelContext.class);
+        context = mock(CamelContext.class);
+        ecc = mock(ExtendedCamelContext.class);
         exchangeFactory = mock(ExchangeFactory.class);
         endpoint = mock(SmppEndpoint.class);
         processor = mock(Processor.class);
         session = mock(SMPPSession.class);
 
         when(endpoint.getCamelContext()).thenReturn(context);
-        when(context.adapt(ExtendedCamelContext.class)).thenReturn(context);
-        when(context.getExchangeFactory()).thenReturn(exchangeFactory);
+        when(context.adapt(ExtendedCamelContext.class)).thenReturn(ecc);
+        when(ecc.getExchangeFactory()).thenReturn(exchangeFactory);
         when(exchangeFactory.newExchangeFactory(any())).thenReturn(exchangeFactory);
 
         // the construction of SmppConsumer will trigger the getCamelContext call
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
index 6e81f051553..a42778cc5cf 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
@@ -137,7 +137,7 @@ public class SpringTransactionPolicy implements TransactedPolicy {
             Route route, Processor processor, ErrorHandlerFactory builder) {
         TransactionErrorHandler answer;
         try {
-            ModelCamelContext mcc = route.getCamelContext().adapt(ModelCamelContext.class);
+            ModelCamelContext mcc = (ModelCamelContext) route.getCamelContext();
             answer = (TransactionErrorHandler) mcc.getModelReifierFactory().createErrorHandler(route, builder, processor);
         } catch (Exception e) {
             throw RuntimeCamelException.wrapRuntimeCamelException(e);
diff --git a/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubComponent.java b/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubComponent.java
index cba364f49eb..dc4de8980d4 100644
--- a/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubComponent.java
+++ b/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubComponent.java
@@ -95,7 +95,7 @@ public class StubComponent extends VmComponent {
         super.doInit();
 
         if (shadow) {
-            final EndpointRegistry registry = getCamelContext().adapt(ExtendedCamelContext.class).getEndpointRegistry();
+            final EndpointRegistry registry = getCamelContext().getEndpointRegistry();
             getCamelContext().adapt(ExtendedCamelContext.class).registerEndpointCallback((uri, endpoint) -> {
                 String shadowUri = resolveShadowUri(uri);
                 if (!uri.equals(shadowUri)) {
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 ff5114cd0f6..48b52020c0d 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
@@ -91,7 +91,8 @@ public interface CamelContext extends CamelContextLifecycle, RuntimeConfiguratio
      * @param  type the type to adapt to
      * @return      this {@link org.apache.camel.CamelContext} adapted to the given type
      */
-    <T extends CamelContext> T adapt(Class<T> type);
+    @Deprecated
+    <T extends ExtendedCamelContext> T adapt(Class<T> type);
 
     /**
      * Gets the extension of the given type.
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index 62774876223..7108a8c6404 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -79,7 +79,7 @@ import org.apache.camel.spi.UriFactoryResolver;
  * Extended {@link CamelContext} which contains the methods and APIs that are not primary intended for Camel end users
  * but for SPI, custom components, or more advanced used-cases with Camel.
  */
-public interface ExtendedCamelContext extends CamelContext {
+public interface ExtendedCamelContext {
 
     /**
      * Sets the name (id) of this context.
@@ -91,11 +91,19 @@ public interface ExtendedCamelContext extends CamelContext {
      */
     void setName(String name);
 
+    default String getName() {
+        return null;
+    }
+
     /**
      * Sets the description of this Camel application.
      */
     void setDescription(String description);
 
+    default String getDescription() {
+        return null;
+    }
+
     /**
      * Sets the registry Camel should use for looking up beans by name or type.
      * <p/>
@@ -106,6 +114,10 @@ public interface ExtendedCamelContext extends CamelContext {
      */
     void setRegistry(Registry registry);
 
+    default Registry getRegistry() {
+        return null;
+    }
+
     /**
      * Method to signal to {@link CamelContext} that the process to initialize setup routes is in progress.
      *
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 3f6ae4502a1..469659f0945 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
@@ -202,7 +202,7 @@ import static org.apache.camel.spi.UnitOfWork.MDC_CAMEL_CONTEXT_ID;
  * Represents the context used to configure routes and the policies to use.
  */
 public abstract class AbstractCamelContext extends BaseService
-        implements ExtendedCamelContext, CatalogCamelContext, Suspendable {
+        implements CamelContext, ExtendedCamelContext, CatalogCamelContext, Suspendable {
 
     private static final Logger LOG = LoggerFactory.getLogger(AbstractCamelContext.class);
 
@@ -466,7 +466,7 @@ public abstract class AbstractCamelContext extends BaseService
     }
 
     @Override
-    public <T extends CamelContext> T adapt(Class<T> type) {
+    public <T extends ExtendedCamelContext> T adapt(Class<T> type) {
         return type.cast(this);
     }
 
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
index 469b368fa75..72ddc94d891 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
@@ -43,14 +43,14 @@ import org.apache.camel.support.service.ServiceHelper;
  */
 public class AbstractDynamicRegistry<K, V> extends AbstractMap<K, V> implements StaticService {
 
-    protected final ExtendedCamelContext context;
+    protected final CamelContext context;
     protected final RouteController routeController;
     protected final int maxCacheSize;
     protected final Map<K, V> dynamicMap;
     protected final Map<K, V> staticMap;
 
     public AbstractDynamicRegistry(CamelContext context, int maxCacheSize) {
-        this.context = (ExtendedCamelContext) context;
+        this.context = context;
         this.routeController = context.getRouteController();
         this.maxCacheSize = maxCacheSize;
         // do not stop on eviction, as the endpoint or transformer may still be in use
@@ -96,7 +96,7 @@ public class AbstractDynamicRegistry<K, V> extends AbstractMap<K, V> implements
 
         // we want endpoint or transformer to be static if they are part of
         // starting up camel, or if new routes are being setup/added or routes started later
-        if (!context.isStarted() || context.isSetupRoutes() || routeController.isStartingRoutes()) {
+        if (!context.isStarted() || ((ExtendedCamelContext) context).isSetupRoutes() || routeController.isStartingRoutes()) {
             answer = staticMap.put(key, obj);
         } else {
             answer = dynamicMap.put(key, obj);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
index dc2fefa1d3c..0c9017ec533 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
@@ -352,7 +352,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
     }
 
     public Object getInjectionBeanConfigValue(Class<?> type, String name) {
-        ExtendedCamelContext ecc = (ExtendedCamelContext) getCamelContext();
+        CamelContext ecc = getCamelContext();
 
         // is it a map or properties
         boolean mapType = false;
@@ -419,7 +419,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
         String[] names = new String[] {
                 type.getName() + "-configurer", type.getSimpleName() + "-configurer", rootKey + "-configurer" };
         for (String n : names) {
-            configurer = ecc.getConfigurerResolver().resolvePropertyConfigurer(n, ecc);
+            configurer = ((ExtendedCamelContext) ecc).getConfigurerResolver().resolvePropertyConfigurer(n, ecc);
             if (configurer != null) {
                 break;
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAutowiredLifecycleStrategy.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAutowiredLifecycleStrategy.java
index 70301b4722a..9194b984048 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAutowiredLifecycleStrategy.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAutowiredLifecycleStrategy.java
@@ -35,10 +35,10 @@ class DefaultAutowiredLifecycleStrategy extends LifecycleStrategySupport impleme
 
     private static final Logger LOG = LoggerFactory.getLogger(DefaultAutowiredLifecycleStrategy.class);
 
-    private final ExtendedCamelContext camelContext;
+    private final CamelContext camelContext;
 
     public DefaultAutowiredLifecycleStrategy(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
     }
 
     @Override
@@ -87,7 +87,7 @@ class DefaultAutowiredLifecycleStrategy extends LifecycleStrategySupport impleme
     }
 
     private void autwire(String name, String kind, Object target) {
-        PropertyConfigurer pc = camelContext.getConfigurerResolver().resolvePropertyConfigurer(name + "-" + kind, camelContext);
+        PropertyConfigurer pc = ((ExtendedCamelContext) camelContext).getConfigurerResolver().resolvePropertyConfigurer(name + "-" + kind, camelContext);
         if (pc instanceof PropertyConfigurerGetter) {
             PropertyConfigurerGetter getter = (PropertyConfigurerGetter) pc;
             String[] names = getter.getAutowiredNames();
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
index f9634303e75..ff5709b9fd7 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultDependencyInjectionAnnotationFactory.java
@@ -28,10 +28,10 @@ import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory;
 public class DefaultDependencyInjectionAnnotationFactory
         implements CamelDependencyInjectionAnnotationFactory, CamelContextAware {
 
-    private ExtendedCamelContext camelContext;
+    private CamelContext camelContext;
 
     public DefaultDependencyInjectionAnnotationFactory(CamelContext camelContext) {
-        this.camelContext = camelContext.adapt(ExtendedCamelContext.class);
+        this.camelContext = camelContext;
     }
 
     @Override
@@ -41,7 +41,7 @@ public class DefaultDependencyInjectionAnnotationFactory
 
     @Override
     public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext.adapt(ExtendedCamelContext.class);
+        this.camelContext = camelContext;
     }
 
     @Override
@@ -49,9 +49,9 @@ public class DefaultDependencyInjectionAnnotationFactory
         return () -> {
             if (beanPostProcess) {
                 try {
-                    camelContext.getBeanPostProcessor()
+                    ((ExtendedCamelContext) camelContext).getBeanPostProcessor()
                             .postProcessBeforeInitialization(bean, beanName);
-                    camelContext.adapt(ExtendedCamelContext.class).getBeanPostProcessor()
+                    ((ExtendedCamelContext) camelContext).getBeanPostProcessor()
                             .postProcessAfterInitialization(bean, beanName);
                 } catch (Exception e) {
                     throw RuntimeCamelException.wrapRuntimeException(e);
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceLoader.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceLoader.java
index 81c63ada3a4..decd75109b8 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceLoader.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceLoader.java
@@ -164,8 +164,8 @@ public class DefaultResourceLoader extends ServiceSupport implements ResourceLoa
      * @return        a {@link RoutesBuilderLoader} or <code>null</code> if none found.
      */
     private ResourceResolver resolveService(String scheme) {
-        final ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
-        final FactoryFinder finder = ecc.getBootstrapFactoryFinder(ResourceResolver.FACTORY_PATH);
+        final CamelContext ecc = getCamelContext();
+        final FactoryFinder finder = ((ExtendedCamelContext) ecc).getBootstrapFactoryFinder(ResourceResolver.FACTORY_PATH);
 
         ResourceResolver rr = ResolverHelper.resolveService(ecc, finder, scheme, ResourceResolver.class).orElse(null);
         if (rr != null) {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceResolvers.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceResolvers.java
index 5003b696be8..207b51d482f 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceResolvers.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultResourceResolvers.java
@@ -32,7 +32,6 @@ import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.zip.GZIPInputStream;
 
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.spi.ContentTypeAware;
 import org.apache.camel.spi.Resource;
 import org.apache.camel.spi.annotations.ResourceResolver;
@@ -156,7 +155,6 @@ public final class DefaultResourceResolvers {
                 @Override
                 public URI getURI() {
                     URL url = getCamelContext()
-                            .adapt(ExtendedCamelContext.class)
                             .getClassResolver()
                             .loadResourceAsURL(path);
 
@@ -171,7 +169,6 @@ public final class DefaultResourceResolvers {
                 @Override
                 public InputStream getInputStream() throws IOException {
                     return getCamelContext()
-                            .adapt(ExtendedCamelContext.class)
                             .getClassResolver()
                             .loadResourceAsStream(path);
                 }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRouteController.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRouteController.java
index 3b249751e12..3e9e2ad4250 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRouteController.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRouteController.java
@@ -40,7 +40,7 @@ public class DefaultRouteController extends ServiceSupport implements RouteContr
 
     // mark this as non managed service as its registered specially as a route controller
 
-    private ExtendedCamelContext camelContext;
+    private CamelContext camelContext;
 
     private LoggingLevel loggingLevel = LoggingLevel.DEBUG;
 
@@ -49,7 +49,7 @@ public class DefaultRouteController extends ServiceSupport implements RouteContr
     }
 
     public DefaultRouteController(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
     }
 
     // ***************************************************
@@ -58,7 +58,7 @@ public class DefaultRouteController extends ServiceSupport implements RouteContr
 
     @Override
     public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
     }
 
     @Override
@@ -86,7 +86,7 @@ public class DefaultRouteController extends ServiceSupport implements RouteContr
     // ***************************************************
 
     protected RouteController getInternalRouteController() {
-        return camelContext.getInternalRouteController();
+        return ((ExtendedCamelContext) camelContext).getInternalRouteController();
     }
 
     @Override
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
index 32e0c46c419..b9c57b12a51 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
@@ -158,11 +158,11 @@ public class DefaultRoutesLoader extends ServiceSupport implements RoutesLoader,
      * @return           a {@link RoutesBuilderLoader} or null if none found
      */
     protected RoutesBuilderLoader resolveService(String extension) {
-        final ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
-        final FactoryFinder finder = ecc.getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH);
+        final CamelContext ecc = getCamelContext();
+        final FactoryFinder finder = ((ExtendedCamelContext) ecc).getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH);
 
         RoutesBuilderLoader answer
-                = ResolverHelper.resolveService(ecc, finder, extension, RoutesBuilderLoader.class).orElse(null);
+                = ResolverHelper.resolveService(getCamelContext(), finder, extension, RoutesBuilderLoader.class).orElse(null);
 
         if (answer != null) {
             CamelContextAware.trySetCamelContext(answer, getCamelContext());
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
index 7394d33797b..e80ec827ea4 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultServiceBootstrapCloseable.java
@@ -58,7 +58,7 @@ public class DefaultServiceBootstrapCloseable implements BootstrapCloseable {
                     ((BootstrapCloseable) service).close();
                 }
                 // service is no longer needed as it was only intended during bootstrap
-                camelContext.removeService(service);
+                ((CamelContext) camelContext).removeService(service);
             } catch (Exception e) {
                 LOG.warn("Error during closing bootstrap service. This exception is ignored", e);
             }
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
index 55385cfcb40..fca1ba8e3f6 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
@@ -26,6 +26,7 @@ import java.util.Set;
 import java.util.function.Predicate;
 
 import org.apache.camel.AsyncCallback;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Message;
@@ -54,7 +55,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
     final boolean allowUseOriginalMessage;
     final boolean useBreadcrumb;
 
-    private final ExtendedCamelContext context;
+    private final CamelContext context;
     private final Deque<Route> routes = new ArrayDeque<>(8);
     private Logger log;
     private Exchange exchange;
@@ -78,7 +79,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
         this.log = LOG;
         this.allowUseOriginalMessage = allowUseOriginalMessage;
         this.useBreadcrumb = useBreadcrumb;
-        this.context = (ExtendedCamelContext) exchange.getContext();
+        this.context = exchange.getContext();
         this.inflightRepository = inflightRepository;
         doOnPrepare(exchange);
     }
@@ -128,7 +129,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
         }
 
         // fire event
-        if (context.isEventNotificationApplicable()) {
+        if (((ExtendedCamelContext) context).isEventNotificationApplicable()) {
             try {
                 EventHelper.notifyExchangeCreated(context, exchange);
             } catch (Throwable e) {
@@ -238,7 +239,7 @@ public class DefaultUnitOfWork implements UnitOfWork {
         // unregister from inflight registry, before signalling we are done
         inflightRepository.remove(exchange);
 
-        if (context.isEventNotificationApplicable()) {
+        if (((ExtendedCamelContext) context).isEventNotificationApplicable()) {
             // then fire event to signal the exchange is done
             try {
                 if (failed) {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
index 8ae6c4fa311..939db2414fa 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
@@ -23,7 +23,6 @@ import java.util.Map;
 import java.util.Optional;
 
 import org.apache.camel.Endpoint;
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.spi.EndpointRegistry;
 import org.apache.camel.spi.RuntimeEndpointRegistry;
 import org.apache.camel.spi.annotations.DevConsole;
@@ -43,7 +42,7 @@ public class EndpointDevConsole extends AbstractDevConsole {
 
         // runtime registry is optional but if enabled we have additional statistics to use in output
         List<RuntimeEndpointRegistry.Statistic> stats = null;
-        RuntimeEndpointRegistry runtimeReg = getCamelContext().adapt(ExtendedCamelContext.class).getRuntimeEndpointRegistry();
+        RuntimeEndpointRegistry runtimeReg = getCamelContext().getRuntimeEndpointRegistry();
         if (runtimeReg != null) {
             stats = runtimeReg.getEndpointStatistics();
         }
@@ -74,7 +73,7 @@ public class EndpointDevConsole extends AbstractDevConsole {
 
         // runtime registry is optional but if enabled we have additional statistics to use in output
         List<RuntimeEndpointRegistry.Statistic> stats = null;
-        RuntimeEndpointRegistry runtimeReg = getCamelContext().adapt(ExtendedCamelContext.class).getRuntimeEndpointRegistry();
+        RuntimeEndpointRegistry runtimeReg = getCamelContext().getRuntimeEndpointRegistry();
         if (runtimeReg != null) {
             stats = runtimeReg.getEndpointStatistics();
         }
diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
index bf853eda017..dbda9bd0d35 100644
--- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
+++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
@@ -34,7 +34,7 @@ public class CamelContextJSonSchemaResolver implements JSonSchemaResolver {
     private final CatalogCamelContext camelContext;
 
     public CamelContextJSonSchemaResolver(CamelContext camelContext) {
-        this.camelContext = camelContext.adapt(CatalogCamelContext.class);
+        this.camelContext = (CatalogCamelContext) camelContext;
     }
 
     @Override
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
index 0538b7a725b..5142aa28391 100644
--- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
@@ -21,22 +21,10 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
         org.apache.camel.ExtendedCamelContext target = (org.apache.camel.ExtendedCamelContext) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "allowuseoriginalmessage":
-        case "AllowUseOriginalMessage": target.setAllowUseOriginalMessage(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "annotationbasedprocessorfactory":
         case "AnnotationBasedProcessorFactory": target.setAnnotationBasedProcessorFactory(property(camelContext, org.apache.camel.spi.AnnotationBasedProcessorFactory.class, value)); return true;
-        case "applicationcontextclassloader":
-        case "ApplicationContextClassLoader": target.setApplicationContextClassLoader(property(camelContext, java.lang.ClassLoader.class, value)); return true;
         case "asyncprocessorawaitmanager":
         case "AsyncProcessorAwaitManager": target.setAsyncProcessorAwaitManager(property(camelContext, org.apache.camel.spi.AsyncProcessorAwaitManager.class, value)); return true;
-        case "autostartup":
-        case "AutoStartup": target.setAutoStartup(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "autowiredenabled":
-        case "AutowiredEnabled": target.setAutowiredEnabled(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "backlogtracing":
-        case "BacklogTracing": target.setBacklogTracing(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "backlogtracingstandby":
-        case "BacklogTracingStandby": target.setBacklogTracingStandby(property(camelContext, boolean.class, value)); return true;
         case "basepackagescan":
         case "BasePackageScan": target.setBasePackageScan(property(camelContext, java.lang.String.class, value)); return true;
         case "beanintrospection":
@@ -47,10 +35,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BootstrapConfigurerResolver": target.setBootstrapConfigurerResolver(property(camelContext, org.apache.camel.spi.ConfigurerResolver.class, value)); return true;
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": target.setBootstrapFactoryFinder(property(camelContext, org.apache.camel.spi.FactoryFinder.class, value)); return true;
-        case "caseinsensitiveheaders":
-        case "CaseInsensitiveHeaders": target.setCaseInsensitiveHeaders(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "classresolver":
-        case "ClassResolver": target.setClassResolver(property(camelContext, org.apache.camel.spi.ClassResolver.class, value)); return true;
         case "cliconnectorfactory":
         case "CliConnectorFactory": target.setCliConnectorFactory(property(camelContext, org.apache.camel.spi.CliConnectorFactory.class, value)); return true;
         case "componentnameresolver":
@@ -61,24 +45,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ConfigurerResolver": target.setConfigurerResolver(property(camelContext, org.apache.camel.spi.ConfigurerResolver.class, value)); return true;
         case "dataformatresolver":
         case "DataFormatResolver": target.setDataFormatResolver(property(camelContext, org.apache.camel.spi.DataFormatResolver.class, value)); return true;
-        case "debugger":
-        case "Debugger": target.setDebugger(property(camelContext, org.apache.camel.spi.Debugger.class, value)); return true;
-        case "debugging":
-        case "Debugging": target.setDebugging(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "deferservicefactory":
         case "DeferServiceFactory": target.setDeferServiceFactory(property(camelContext, org.apache.camel.spi.DeferServiceFactory.class, value)); return true;
-        case "delayer":
-        case "Delayer": target.setDelayer(property(camelContext, java.lang.Long.class, value)); return true;
         case "dependencyinjectionannotationfactory":
         case "DependencyInjectionAnnotationFactory": target.setDependencyInjectionAnnotationFactory(property(camelContext, org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory.class, value)); return true;
         case "description":
         case "Description": target.setDescription(property(camelContext, java.lang.String.class, value)); return true;
-        case "devconsole":
-        case "DevConsole": target.setDevConsole(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "devconsoleresolver":
         case "DevConsoleResolver": target.setDevConsoleResolver(property(camelContext, org.apache.camel.console.DevConsoleResolver.class, value)); return true;
-        case "dumproutes":
-        case "DumpRoutes": target.setDumpRoutes(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "errorhandlerfactory":
         case "ErrorHandlerFactory": target.setErrorHandlerFactory(property(camelContext, org.apache.camel.ErrorHandlerFactory.class, value)); return true;
         case "eventnotificationapplicable":
@@ -87,20 +61,12 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ExchangeFactory": target.setExchangeFactory(property(camelContext, org.apache.camel.spi.ExchangeFactory.class, value)); return true;
         case "exchangefactorymanager":
         case "ExchangeFactoryManager": target.setExchangeFactoryManager(property(camelContext, org.apache.camel.spi.ExchangeFactoryManager.class, value)); return true;
-        case "executorservicemanager":
-        case "ExecutorServiceManager": target.setExecutorServiceManager(property(camelContext, org.apache.camel.spi.ExecutorServiceManager.class, value)); return true;
         case "factoryfinderresolver":
         case "FactoryFinderResolver": target.setFactoryFinderResolver(property(camelContext, org.apache.camel.spi.FactoryFinderResolver.class, value)); return true;
-        case "globaloptions":
-        case "GlobalOptions": target.setGlobalOptions(property(camelContext, java.util.Map.class, value)); return true;
         case "headersmapfactory":
         case "HeadersMapFactory": target.setHeadersMapFactory(property(camelContext, org.apache.camel.spi.HeadersMapFactory.class, value)); return true;
         case "healthcheckresolver":
         case "HealthCheckResolver": target.setHealthCheckResolver(property(camelContext, org.apache.camel.health.HealthCheckResolver.class, value)); return true;
-        case "inflightrepository":
-        case "InflightRepository": target.setInflightRepository(property(camelContext, org.apache.camel.spi.InflightRepository.class, value)); return true;
-        case "injector":
-        case "Injector": target.setInjector(property(camelContext, org.apache.camel.spi.Injector.class, value)); return true;
         case "interceptendpointfactory":
         case "InterceptEndpointFactory": target.setInterceptEndpointFactory(property(camelContext, org.apache.camel.spi.InterceptEndpointFactory.class, value)); return true;
         case "internalprocessorfactory":
@@ -109,38 +75,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "LanguageResolver": target.setLanguageResolver(property(camelContext, org.apache.camel.spi.LanguageResolver.class, value)); return true;
         case "lightweight":
         case "Lightweight": target.setLightweight(property(camelContext, boolean.class, value)); return true;
-        case "loadhealthchecks":
-        case "LoadHealthChecks": target.setLoadHealthChecks(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "loadtypeconverters":
-        case "LoadTypeConverters": target.setLoadTypeConverters(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "logexhaustedmessagebody":
-        case "LogExhaustedMessageBody": target.setLogExhaustedMessageBody(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "logmask":
-        case "LogMask": target.setLogMask(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "mdcloggingkeyspattern":
-        case "MDCLoggingKeysPattern": target.setMDCLoggingKeysPattern(property(camelContext, java.lang.String.class, value)); return true;
-        case "managementname":
-        case "ManagementName": target.setManagementName(property(camelContext, java.lang.String.class, value)); return true;
-        case "managementnamestrategy":
-        case "ManagementNameStrategy": target.setManagementNameStrategy(property(camelContext, org.apache.camel.spi.ManagementNameStrategy.class, value)); return true;
-        case "managementstrategy":
-        case "ManagementStrategy": target.setManagementStrategy(property(camelContext, org.apache.camel.spi.ManagementStrategy.class, value)); return true;
-        case "messagehistory":
-        case "MessageHistory": target.setMessageHistory(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "messagehistoryfactory":
-        case "MessageHistoryFactory": target.setMessageHistoryFactory(property(camelContext, org.apache.camel.spi.MessageHistoryFactory.class, value)); return true;
         case "modeljaxbcontextfactory":
         case "ModelJAXBContextFactory": target.setModelJAXBContextFactory(property(camelContext, org.apache.camel.spi.ModelJAXBContextFactory.class, value)); return true;
         case "modeltoxmldumper":
         case "ModelToXMLDumper": target.setModelToXMLDumper(property(camelContext, org.apache.camel.spi.ModelToXMLDumper.class, value)); return true;
-        case "modeline":
-        case "Modeline": target.setModeline(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "modelinefactory":
         case "ModelineFactory": target.setModelineFactory(property(camelContext, org.apache.camel.spi.ModelineFactory.class, value)); return true;
         case "name":
         case "Name": target.setName(property(camelContext, java.lang.String.class, value)); return true;
-        case "namestrategy":
-        case "NameStrategy": target.setNameStrategy(property(camelContext, org.apache.camel.spi.CamelContextNameStrategy.class, value)); return true;
         case "nodeidfactory":
         case "NodeIdFactory": target.setNodeIdFactory(property(camelContext, org.apache.camel.spi.NodeIdFactory.class, value)); return true;
         case "packagescanclassresolver":
@@ -155,8 +97,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ProcessorExchangeFactory": target.setProcessorExchangeFactory(property(camelContext, org.apache.camel.spi.ProcessorExchangeFactory.class, value)); return true;
         case "processorfactory":
         case "ProcessorFactory": target.setProcessorFactory(property(camelContext, org.apache.camel.spi.ProcessorFactory.class, value)); return true;
-        case "propertiescomponent":
-        case "PropertiesComponent": target.setPropertiesComponent(property(camelContext, org.apache.camel.spi.PropertiesComponent.class, value)); return true;
         case "reactiveexecutor":
         case "ReactiveExecutor": target.setReactiveExecutor(property(camelContext, org.apache.camel.spi.ReactiveExecutor.class, value)); return true;
         case "registry":
@@ -165,66 +105,18 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ResourceLoader": target.setResourceLoader(property(camelContext, org.apache.camel.spi.ResourceLoader.class, value)); return true;
         case "restbindingjaxbdataformatfactory":
         case "RestBindingJaxbDataFormatFactory": target.setRestBindingJaxbDataFormatFactory(property(camelContext, org.apache.camel.spi.RestBindingJaxbDataFormatFactory.class, value)); return true;
-        case "restconfiguration":
-        case "RestConfiguration": target.setRestConfiguration(property(camelContext, org.apache.camel.spi.RestConfiguration.class, value)); return true;
-        case "restregistry":
-        case "RestRegistry": target.setRestRegistry(property(camelContext, org.apache.camel.spi.RestRegistry.class, value)); return true;
-        case "routecontroller":
-        case "RouteController": target.setRouteController(property(camelContext, org.apache.camel.spi.RouteController.class, value)); return true;
         case "routefactory":
         case "RouteFactory": target.setRouteFactory(property(camelContext, org.apache.camel.spi.RouteFactory.class, value)); return true;
         case "routesloader":
         case "RoutesLoader": target.setRoutesLoader(property(camelContext, org.apache.camel.spi.RoutesLoader.class, value)); return true;
         case "runtimecamelcatalog":
         case "RuntimeCamelCatalog": target.setRuntimeCamelCatalog(property(camelContext, org.apache.camel.catalog.RuntimeCamelCatalog.class, value)); return true;
-        case "runtimeendpointregistry":
-        case "RuntimeEndpointRegistry": target.setRuntimeEndpointRegistry(property(camelContext, org.apache.camel.spi.RuntimeEndpointRegistry.class, value)); return true;
-        case "sslcontextparameters":
-        case "SSLContextParameters": target.setSSLContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
-        case "shutdownroute":
-        case "ShutdownRoute": target.setShutdownRoute(property(camelContext, org.apache.camel.ShutdownRoute.class, value)); return true;
-        case "shutdownrunningtask":
-        case "ShutdownRunningTask": target.setShutdownRunningTask(property(camelContext, org.apache.camel.ShutdownRunningTask.class, value)); return true;
-        case "shutdownstrategy":
-        case "ShutdownStrategy": target.setShutdownStrategy(property(camelContext, org.apache.camel.spi.ShutdownStrategy.class, value)); return true;
-        case "sourcelocationenabled":
-        case "SourceLocationEnabled": target.setSourceLocationEnabled(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "startupsteprecorder":
         case "StartupStepRecorder": target.setStartupStepRecorder(property(camelContext, org.apache.camel.spi.StartupStepRecorder.class, value)); return true;
-        case "startupsummarylevel":
-        case "StartupSummaryLevel": target.setStartupSummaryLevel(property(camelContext, org.apache.camel.StartupSummaryLevel.class, value)); return true;
-        case "streamcaching":
-        case "StreamCaching": target.setStreamCaching(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "streamcachingstrategy":
-        case "StreamCachingStrategy": target.setStreamCachingStrategy(property(camelContext, org.apache.camel.spi.StreamCachingStrategy.class, value)); return true;
-        case "tracer":
-        case "Tracer": target.setTracer(property(camelContext, org.apache.camel.spi.Tracer.class, value)); return true;
-        case "tracing":
-        case "Tracing": target.setTracing(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "tracingloggingformat":
-        case "TracingLoggingFormat": target.setTracingLoggingFormat(property(camelContext, java.lang.String.class, value)); return true;
-        case "tracingpattern":
-        case "TracingPattern": target.setTracingPattern(property(camelContext, java.lang.String.class, value)); return true;
-        case "tracingstandby":
-        case "TracingStandby": target.setTracingStandby(property(camelContext, boolean.class, value)); return true;
-        case "typeconverterregistry":
-        case "TypeConverterRegistry": target.setTypeConverterRegistry(property(camelContext, org.apache.camel.spi.TypeConverterRegistry.class, value)); return true;
-        case "typeconverterstatisticsenabled":
-        case "TypeConverterStatisticsEnabled": target.setTypeConverterStatisticsEnabled(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "unitofworkfactory":
         case "UnitOfWorkFactory": target.setUnitOfWorkFactory(property(camelContext, org.apache.camel.spi.UnitOfWorkFactory.class, value)); return true;
         case "urifactoryresolver":
         case "UriFactoryResolver": target.setUriFactoryResolver(property(camelContext, org.apache.camel.spi.UriFactoryResolver.class, value)); return true;
-        case "usebreadcrumb":
-        case "UseBreadcrumb": target.setUseBreadcrumb(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "usedatatype":
-        case "UseDataType": target.setUseDataType(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "usemdclogging":
-        case "UseMDCLogging": target.setUseMDCLogging(property(camelContext, java.lang.Boolean.class, value)); return true;
-        case "uuidgenerator":
-        case "UuidGenerator": target.setUuidGenerator(property(camelContext, org.apache.camel.spi.UuidGenerator.class, value)); return true;
-        case "vaultconfiguration":
-        case "VaultConfiguration": target.setVaultConfiguration(property(camelContext, org.apache.camel.vault.VaultConfiguration.class, value)); return true;
         default: return false;
         }
     }
@@ -232,22 +124,10 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "allowuseoriginalmessage":
-        case "AllowUseOriginalMessage": return java.lang.Boolean.class;
         case "annotationbasedprocessorfactory":
         case "AnnotationBasedProcessorFactory": return org.apache.camel.spi.AnnotationBasedProcessorFactory.class;
-        case "applicationcontextclassloader":
-        case "ApplicationContextClassLoader": return java.lang.ClassLoader.class;
         case "asyncprocessorawaitmanager":
         case "AsyncProcessorAwaitManager": return org.apache.camel.spi.AsyncProcessorAwaitManager.class;
-        case "autostartup":
-        case "AutoStartup": return java.lang.Boolean.class;
-        case "autowiredenabled":
-        case "AutowiredEnabled": return java.lang.Boolean.class;
-        case "backlogtracing":
-        case "BacklogTracing": return java.lang.Boolean.class;
-        case "backlogtracingstandby":
-        case "BacklogTracingStandby": return boolean.class;
         case "basepackagescan":
         case "BasePackageScan": return java.lang.String.class;
         case "beanintrospection":
@@ -258,10 +138,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BootstrapConfigurerResolver": return org.apache.camel.spi.ConfigurerResolver.class;
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": return org.apache.camel.spi.FactoryFinder.class;
-        case "caseinsensitiveheaders":
-        case "CaseInsensitiveHeaders": return java.lang.Boolean.class;
-        case "classresolver":
-        case "ClassResolver": return org.apache.camel.spi.ClassResolver.class;
         case "cliconnectorfactory":
         case "CliConnectorFactory": return org.apache.camel.spi.CliConnectorFactory.class;
         case "componentnameresolver":
@@ -272,24 +148,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ConfigurerResolver": return org.apache.camel.spi.ConfigurerResolver.class;
         case "dataformatresolver":
         case "DataFormatResolver": return org.apache.camel.spi.DataFormatResolver.class;
-        case "debugger":
-        case "Debugger": return org.apache.camel.spi.Debugger.class;
-        case "debugging":
-        case "Debugging": return java.lang.Boolean.class;
         case "deferservicefactory":
         case "DeferServiceFactory": return org.apache.camel.spi.DeferServiceFactory.class;
-        case "delayer":
-        case "Delayer": return java.lang.Long.class;
         case "dependencyinjectionannotationfactory":
         case "DependencyInjectionAnnotationFactory": return org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory.class;
         case "description":
         case "Description": return java.lang.String.class;
-        case "devconsole":
-        case "DevConsole": return java.lang.Boolean.class;
         case "devconsoleresolver":
         case "DevConsoleResolver": return org.apache.camel.console.DevConsoleResolver.class;
-        case "dumproutes":
-        case "DumpRoutes": return java.lang.Boolean.class;
         case "errorhandlerfactory":
         case "ErrorHandlerFactory": return org.apache.camel.ErrorHandlerFactory.class;
         case "eventnotificationapplicable":
@@ -298,20 +164,12 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ExchangeFactory": return org.apache.camel.spi.ExchangeFactory.class;
         case "exchangefactorymanager":
         case "ExchangeFactoryManager": return org.apache.camel.spi.ExchangeFactoryManager.class;
-        case "executorservicemanager":
-        case "ExecutorServiceManager": return org.apache.camel.spi.ExecutorServiceManager.class;
         case "factoryfinderresolver":
         case "FactoryFinderResolver": return org.apache.camel.spi.FactoryFinderResolver.class;
-        case "globaloptions":
-        case "GlobalOptions": return java.util.Map.class;
         case "headersmapfactory":
         case "HeadersMapFactory": return org.apache.camel.spi.HeadersMapFactory.class;
         case "healthcheckresolver":
         case "HealthCheckResolver": return org.apache.camel.health.HealthCheckResolver.class;
-        case "inflightrepository":
-        case "InflightRepository": return org.apache.camel.spi.InflightRepository.class;
-        case "injector":
-        case "Injector": return org.apache.camel.spi.Injector.class;
         case "interceptendpointfactory":
         case "InterceptEndpointFactory": return org.apache.camel.spi.InterceptEndpointFactory.class;
         case "internalprocessorfactory":
@@ -320,38 +178,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "LanguageResolver": return org.apache.camel.spi.LanguageResolver.class;
         case "lightweight":
         case "Lightweight": return boolean.class;
-        case "loadhealthchecks":
-        case "LoadHealthChecks": return java.lang.Boolean.class;
-        case "loadtypeconverters":
-        case "LoadTypeConverters": return java.lang.Boolean.class;
-        case "logexhaustedmessagebody":
-        case "LogExhaustedMessageBody": return java.lang.Boolean.class;
-        case "logmask":
-        case "LogMask": return java.lang.Boolean.class;
-        case "mdcloggingkeyspattern":
-        case "MDCLoggingKeysPattern": return java.lang.String.class;
-        case "managementname":
-        case "ManagementName": return java.lang.String.class;
-        case "managementnamestrategy":
-        case "ManagementNameStrategy": return org.apache.camel.spi.ManagementNameStrategy.class;
-        case "managementstrategy":
-        case "ManagementStrategy": return org.apache.camel.spi.ManagementStrategy.class;
-        case "messagehistory":
-        case "MessageHistory": return java.lang.Boolean.class;
-        case "messagehistoryfactory":
-        case "MessageHistoryFactory": return org.apache.camel.spi.MessageHistoryFactory.class;
         case "modeljaxbcontextfactory":
         case "ModelJAXBContextFactory": return org.apache.camel.spi.ModelJAXBContextFactory.class;
         case "modeltoxmldumper":
         case "ModelToXMLDumper": return org.apache.camel.spi.ModelToXMLDumper.class;
-        case "modeline":
-        case "Modeline": return java.lang.Boolean.class;
         case "modelinefactory":
         case "ModelineFactory": return org.apache.camel.spi.ModelineFactory.class;
         case "name":
         case "Name": return java.lang.String.class;
-        case "namestrategy":
-        case "NameStrategy": return org.apache.camel.spi.CamelContextNameStrategy.class;
         case "nodeidfactory":
         case "NodeIdFactory": return org.apache.camel.spi.NodeIdFactory.class;
         case "packagescanclassresolver":
@@ -366,8 +200,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ProcessorExchangeFactory": return org.apache.camel.spi.ProcessorExchangeFactory.class;
         case "processorfactory":
         case "ProcessorFactory": return org.apache.camel.spi.ProcessorFactory.class;
-        case "propertiescomponent":
-        case "PropertiesComponent": return org.apache.camel.spi.PropertiesComponent.class;
         case "reactiveexecutor":
         case "ReactiveExecutor": return org.apache.camel.spi.ReactiveExecutor.class;
         case "registry":
@@ -376,66 +208,18 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ResourceLoader": return org.apache.camel.spi.ResourceLoader.class;
         case "restbindingjaxbdataformatfactory":
         case "RestBindingJaxbDataFormatFactory": return org.apache.camel.spi.RestBindingJaxbDataFormatFactory.class;
-        case "restconfiguration":
-        case "RestConfiguration": return org.apache.camel.spi.RestConfiguration.class;
-        case "restregistry":
-        case "RestRegistry": return org.apache.camel.spi.RestRegistry.class;
-        case "routecontroller":
-        case "RouteController": return org.apache.camel.spi.RouteController.class;
         case "routefactory":
         case "RouteFactory": return org.apache.camel.spi.RouteFactory.class;
         case "routesloader":
         case "RoutesLoader": return org.apache.camel.spi.RoutesLoader.class;
         case "runtimecamelcatalog":
         case "RuntimeCamelCatalog": return org.apache.camel.catalog.RuntimeCamelCatalog.class;
-        case "runtimeendpointregistry":
-        case "RuntimeEndpointRegistry": return org.apache.camel.spi.RuntimeEndpointRegistry.class;
-        case "sslcontextparameters":
-        case "SSLContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
-        case "shutdownroute":
-        case "ShutdownRoute": return org.apache.camel.ShutdownRoute.class;
-        case "shutdownrunningtask":
-        case "ShutdownRunningTask": return org.apache.camel.ShutdownRunningTask.class;
-        case "shutdownstrategy":
-        case "ShutdownStrategy": return org.apache.camel.spi.ShutdownStrategy.class;
-        case "sourcelocationenabled":
-        case "SourceLocationEnabled": return java.lang.Boolean.class;
         case "startupsteprecorder":
         case "StartupStepRecorder": return org.apache.camel.spi.StartupStepRecorder.class;
-        case "startupsummarylevel":
-        case "StartupSummaryLevel": return org.apache.camel.StartupSummaryLevel.class;
-        case "streamcaching":
-        case "StreamCaching": return java.lang.Boolean.class;
-        case "streamcachingstrategy":
-        case "StreamCachingStrategy": return org.apache.camel.spi.StreamCachingStrategy.class;
-        case "tracer":
-        case "Tracer": return org.apache.camel.spi.Tracer.class;
-        case "tracing":
-        case "Tracing": return java.lang.Boolean.class;
-        case "tracingloggingformat":
-        case "TracingLoggingFormat": return java.lang.String.class;
-        case "tracingpattern":
-        case "TracingPattern": return java.lang.String.class;
-        case "tracingstandby":
-        case "TracingStandby": return boolean.class;
-        case "typeconverterregistry":
-        case "TypeConverterRegistry": return org.apache.camel.spi.TypeConverterRegistry.class;
-        case "typeconverterstatisticsenabled":
-        case "TypeConverterStatisticsEnabled": return java.lang.Boolean.class;
         case "unitofworkfactory":
         case "UnitOfWorkFactory": return org.apache.camel.spi.UnitOfWorkFactory.class;
         case "urifactoryresolver":
         case "UriFactoryResolver": return org.apache.camel.spi.UriFactoryResolver.class;
-        case "usebreadcrumb":
-        case "UseBreadcrumb": return java.lang.Boolean.class;
-        case "usedatatype":
-        case "UseDataType": return java.lang.Boolean.class;
-        case "usemdclogging":
-        case "UseMDCLogging": return java.lang.Boolean.class;
-        case "uuidgenerator":
-        case "UuidGenerator": return org.apache.camel.spi.UuidGenerator.class;
-        case "vaultconfiguration":
-        case "VaultConfiguration": return org.apache.camel.vault.VaultConfiguration.class;
         default: return null;
         }
     }
@@ -444,22 +228,10 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         org.apache.camel.ExtendedCamelContext target = (org.apache.camel.ExtendedCamelContext) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "allowuseoriginalmessage":
-        case "AllowUseOriginalMessage": return target.isAllowUseOriginalMessage();
         case "annotationbasedprocessorfactory":
         case "AnnotationBasedProcessorFactory": return target.getAnnotationBasedProcessorFactory();
-        case "applicationcontextclassloader":
-        case "ApplicationContextClassLoader": return target.getApplicationContextClassLoader();
         case "asyncprocessorawaitmanager":
         case "AsyncProcessorAwaitManager": return target.getAsyncProcessorAwaitManager();
-        case "autostartup":
-        case "AutoStartup": return target.isAutoStartup();
-        case "autowiredenabled":
-        case "AutowiredEnabled": return target.isAutowiredEnabled();
-        case "backlogtracing":
-        case "BacklogTracing": return target.isBacklogTracing();
-        case "backlogtracingstandby":
-        case "BacklogTracingStandby": return target.isBacklogTracingStandby();
         case "basepackagescan":
         case "BasePackageScan": return target.getBasePackageScan();
         case "beanintrospection":
@@ -470,10 +242,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "BootstrapConfigurerResolver": return target.getBootstrapConfigurerResolver();
         case "bootstrapfactoryfinder":
         case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder();
-        case "caseinsensitiveheaders":
-        case "CaseInsensitiveHeaders": return target.isCaseInsensitiveHeaders();
-        case "classresolver":
-        case "ClassResolver": return target.getClassResolver();
         case "cliconnectorfactory":
         case "CliConnectorFactory": return target.getCliConnectorFactory();
         case "componentnameresolver":
@@ -484,24 +252,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ConfigurerResolver": return target.getConfigurerResolver();
         case "dataformatresolver":
         case "DataFormatResolver": return target.getDataFormatResolver();
-        case "debugger":
-        case "Debugger": return target.getDebugger();
-        case "debugging":
-        case "Debugging": return target.isDebugging();
         case "deferservicefactory":
         case "DeferServiceFactory": return target.getDeferServiceFactory();
-        case "delayer":
-        case "Delayer": return target.getDelayer();
         case "dependencyinjectionannotationfactory":
         case "DependencyInjectionAnnotationFactory": return target.getDependencyInjectionAnnotationFactory();
         case "description":
         case "Description": return target.getDescription();
-        case "devconsole":
-        case "DevConsole": return target.isDevConsole();
         case "devconsoleresolver":
         case "DevConsoleResolver": return target.getDevConsoleResolver();
-        case "dumproutes":
-        case "DumpRoutes": return target.isDumpRoutes();
         case "errorhandlerfactory":
         case "ErrorHandlerFactory": return target.getErrorHandlerFactory();
         case "eventnotificationapplicable":
@@ -510,20 +268,12 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ExchangeFactory": return target.getExchangeFactory();
         case "exchangefactorymanager":
         case "ExchangeFactoryManager": return target.getExchangeFactoryManager();
-        case "executorservicemanager":
-        case "ExecutorServiceManager": return target.getExecutorServiceManager();
         case "factoryfinderresolver":
         case "FactoryFinderResolver": return target.getFactoryFinderResolver();
-        case "globaloptions":
-        case "GlobalOptions": return target.getGlobalOptions();
         case "headersmapfactory":
         case "HeadersMapFactory": return target.getHeadersMapFactory();
         case "healthcheckresolver":
         case "HealthCheckResolver": return target.getHealthCheckResolver();
-        case "inflightrepository":
-        case "InflightRepository": return target.getInflightRepository();
-        case "injector":
-        case "Injector": return target.getInjector();
         case "interceptendpointfactory":
         case "InterceptEndpointFactory": return target.getInterceptEndpointFactory();
         case "internalprocessorfactory":
@@ -532,38 +282,14 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "LanguageResolver": return target.getLanguageResolver();
         case "lightweight":
         case "Lightweight": return target.isLightweight();
-        case "loadhealthchecks":
-        case "LoadHealthChecks": return target.isLoadHealthChecks();
-        case "loadtypeconverters":
-        case "LoadTypeConverters": return target.isLoadTypeConverters();
-        case "logexhaustedmessagebody":
-        case "LogExhaustedMessageBody": return target.isLogExhaustedMessageBody();
-        case "logmask":
-        case "LogMask": return target.isLogMask();
-        case "mdcloggingkeyspattern":
-        case "MDCLoggingKeysPattern": return target.getMDCLoggingKeysPattern();
-        case "managementname":
-        case "ManagementName": return target.getManagementName();
-        case "managementnamestrategy":
-        case "ManagementNameStrategy": return target.getManagementNameStrategy();
-        case "managementstrategy":
-        case "ManagementStrategy": return target.getManagementStrategy();
-        case "messagehistory":
-        case "MessageHistory": return target.isMessageHistory();
-        case "messagehistoryfactory":
-        case "MessageHistoryFactory": return target.getMessageHistoryFactory();
         case "modeljaxbcontextfactory":
         case "ModelJAXBContextFactory": return target.getModelJAXBContextFactory();
         case "modeltoxmldumper":
         case "ModelToXMLDumper": return target.getModelToXMLDumper();
-        case "modeline":
-        case "Modeline": return target.isModeline();
         case "modelinefactory":
         case "ModelineFactory": return target.getModelineFactory();
         case "name":
         case "Name": return target.getName();
-        case "namestrategy":
-        case "NameStrategy": return target.getNameStrategy();
         case "nodeidfactory":
         case "NodeIdFactory": return target.getNodeIdFactory();
         case "packagescanclassresolver":
@@ -578,8 +304,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ProcessorExchangeFactory": return target.getProcessorExchangeFactory();
         case "processorfactory":
         case "ProcessorFactory": return target.getProcessorFactory();
-        case "propertiescomponent":
-        case "PropertiesComponent": return target.getPropertiesComponent();
         case "reactiveexecutor":
         case "ReactiveExecutor": return target.getReactiveExecutor();
         case "registry":
@@ -588,75 +312,18 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
         case "ResourceLoader": return target.getResourceLoader();
         case "restbindingjaxbdataformatfactory":
         case "RestBindingJaxbDataFormatFactory": return target.getRestBindingJaxbDataFormatFactory();
-        case "restconfiguration":
-        case "RestConfiguration": return target.getRestConfiguration();
-        case "restregistry":
-        case "RestRegistry": return target.getRestRegistry();
-        case "routecontroller":
-        case "RouteController": return target.getRouteController();
         case "routefactory":
         case "RouteFactory": return target.getRouteFactory();
         case "routesloader":
         case "RoutesLoader": return target.getRoutesLoader();
         case "runtimecamelcatalog":
         case "RuntimeCamelCatalog": return target.getRuntimeCamelCatalog();
-        case "runtimeendpointregistry":
-        case "RuntimeEndpointRegistry": return target.getRuntimeEndpointRegistry();
-        case "sslcontextparameters":
-        case "SSLContextParameters": return target.getSSLContextParameters();
-        case "shutdownroute":
-        case "ShutdownRoute": return target.getShutdownRoute();
-        case "shutdownrunningtask":
-        case "ShutdownRunningTask": return target.getShutdownRunningTask();
-        case "shutdownstrategy":
-        case "ShutdownStrategy": return target.getShutdownStrategy();
-        case "sourcelocationenabled":
-        case "SourceLocationEnabled": return target.isSourceLocationEnabled();
         case "startupsteprecorder":
         case "StartupStepRecorder": return target.getStartupStepRecorder();
-        case "startupsummarylevel":
-        case "StartupSummaryLevel": return target.getStartupSummaryLevel();
-        case "streamcaching":
-        case "StreamCaching": return target.isStreamCaching();
-        case "streamcachingstrategy":
-        case "StreamCachingStrategy": return target.getStreamCachingStrategy();
-        case "tracer":
-        case "Tracer": return target.getTracer();
-        case "tracing":
-        case "Tracing": return target.isTracing();
-        case "tracingloggingformat":
-        case "TracingLoggingFormat": return target.getTracingLoggingFormat();
-        case "tracingpattern":
-        case "TracingPattern": return target.getTracingPattern();
-        case "tracingstandby":
-        case "TracingStandby": return target.isTracingStandby();
-        case "typeconverterregistry":
-        case "TypeConverterRegistry": return target.getTypeConverterRegistry();
-        case "typeconverterstatisticsenabled":
-        case "TypeConverterStatisticsEnabled": return target.isTypeConverterStatisticsEnabled();
         case "unitofworkfactory":
         case "UnitOfWorkFactory": return target.getUnitOfWorkFactory();
         case "urifactoryresolver":
         case "UriFactoryResolver": return target.getUriFactoryResolver();
-        case "usebreadcrumb":
-        case "UseBreadcrumb": return target.isUseBreadcrumb();
-        case "usedatatype":
-        case "UseDataType": return target.isUseDataType();
-        case "usemdclogging":
-        case "UseMDCLogging": return target.isUseMDCLogging();
-        case "uuidgenerator":
-        case "UuidGenerator": return target.getUuidGenerator();
-        case "vaultconfiguration":
-        case "VaultConfiguration": return target.getVaultConfiguration();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "globaloptions":
-        case "GlobalOptions": return java.lang.String.class;
         default: return null;
         }
     }
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
index 2cac4a0903e..b1899e5c030 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -246,7 +246,7 @@ public class DefaultModel implements Model {
         }
 
         if (shouldStartRoutes()) {
-            getCamelContext().adapt(ModelCamelContext.class).startRouteDefinitions(list);
+            ((ModelCamelContext) getCamelContext()).startRouteDefinitions(list);
         }
     }
 
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 ad6d90138c0..16732fda861 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
@@ -156,7 +156,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.vault.VaultConfiguration;
 
 @Experimental
-public class LightweightCamelContext implements ExtendedCamelContext, CatalogCamelContext, ModelCamelContext {
+public class LightweightCamelContext implements CamelContext, ExtendedCamelContext, CatalogCamelContext, ModelCamelContext {
 
     protected volatile CamelContext delegate;
 
@@ -275,7 +275,7 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
     }
 
     @Override
-    public <T extends CamelContext> T adapt(Class<T> type) {
+    public <T extends ExtendedCamelContext> T adapt(Class<T> type) {
         T res = delegate.adapt(type);
         if (res == delegate) {
             return type.cast(this);
@@ -1817,7 +1817,7 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
     //
 
     protected CatalogCamelContext getCatalogCamelContext() {
-        return delegate.adapt(CatalogCamelContext.class);
+        return (CatalogCamelContext) delegate;
     }
 
     @Override
@@ -1845,7 +1845,7 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
     //
 
     protected ModelCamelContext getModelCamelContext() {
-        return delegate.adapt(ModelCamelContext.class);
+        return (ModelCamelContext) delegate;
     }
 
     @Override
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 20eea3dce5c..a28c91a59ca 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
@@ -160,7 +160,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Experimental
-public class LightweightRuntimeCamelContext implements ExtendedCamelContext, CatalogCamelContext {
+public class LightweightRuntimeCamelContext implements CamelContext, ExtendedCamelContext, CatalogCamelContext {
 
     private static final Logger LOG = LoggerFactory.getLogger(LightweightRuntimeCamelContext.class);
 
@@ -263,7 +263,7 @@ public class LightweightRuntimeCamelContext implements ExtendedCamelContext, Cat
         injector = context.getInjector();
         classResolver = context.getClassResolver();
         name = context.getName();
-        description = context.adapt(ExtendedCamelContext.class).getDescription();
+        description = context.getDescription();
         eventNotificationApplicable = context.adapt(ExtendedCamelContext.class).isEventNotificationApplicable();
         useDataType = context.isUseDataType();
         useBreadcrumb = context.isUseBreadcrumb();
@@ -631,10 +631,11 @@ public class LightweightRuntimeCamelContext implements ExtendedCamelContext, Cat
     }
 
     @Override
-    public <T extends CamelContext> T adapt(Class<T> type) {
+    public <T extends ExtendedCamelContext> T adapt(Class<T> type) {
         if (type.isInstance(this)) {
             return type.cast(this);
         }
+
         throw new UnsupportedOperationException();
     }
 
diff --git a/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java b/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
index 23ae057c0a7..1ab509c14c7 100644
--- a/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
+++ b/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
@@ -246,8 +246,8 @@ public class CSimpleLanguage extends TypedLanguageSupport implements StaticServi
             loadConfiguration();
 
             // detect custom compiler (camel-csimple-joor)
-            ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
-            Optional<Class<?>> clazz = ecc.getBootstrapFactoryFinder().findClass(CSimpleCompiler.FACTORY);
+            CamelContext ecc = getCamelContext();
+            Optional<Class<?>> clazz = ((ExtendedCamelContext) ecc).getBootstrapFactoryFinder().findClass(CSimpleCompiler.FACTORY);
             if (clazz.isPresent()) {
                 compiler = (CSimpleCompiler) ecc.getInjector().newInstance(clazz.get(), false);
                 if (compiler != null) {
@@ -282,7 +282,7 @@ public class CSimpleLanguage extends TypedLanguageSupport implements StaticServi
         }
 
         private void loadPreCompiled() {
-            ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
+            CamelContext ecc = getCamelContext();
             InputStream is = ecc.getClassResolver().loadResourceAsStream(PRE_COMPILED_FILE);
             if (is != null) {
                 try {
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 110a4159c3b..55520ec55ad 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
@@ -290,7 +290,7 @@ public final class AdviceWith {
     }
 
     private static RouteDefinition findRouteDefinition(CamelContext camelContext, Object routeId) {
-        ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
+        ModelCamelContext mcc = (ModelCamelContext) camelContext;
         if (mcc.getRouteDefinitions().isEmpty()) {
             throw new IllegalArgumentException("Cannot advice route as there are no routes");
         }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/TemplatedRouteBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/TemplatedRouteBuilder.java
index f988b135160..f1f0109c4f0 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/TemplatedRouteBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/TemplatedRouteBuilder.java
@@ -166,7 +166,7 @@ public final class TemplatedRouteBuilder {
         try {
             if (handler != null) {
                 RouteTemplateDefinition def
-                        = camelContext.adapt(ModelCamelContext.class).getRouteTemplateDefinition(routeTemplateId);
+                        = ((ModelCamelContext) camelContext).getRouteTemplateDefinition(routeTemplateId);
                 if (def == null) {
                     throw new IllegalArgumentException("Cannot find RouteTemplate with id " + routeTemplateId);
                 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/TransformerBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/TransformerBuilder.java
index 4af2aabefd4..a1a9ec74b7d 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/TransformerBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/TransformerBuilder.java
@@ -181,6 +181,6 @@ public class TransformerBuilder {
         // force init of transformer registry
         camelContext.getTransformerRegistry();
 
-        camelContext.adapt(ModelCamelContext.class).registerTransformer(transformer);
+        ((ModelCamelContext) camelContext).registerTransformer(transformer);
     }
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ValidatorBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ValidatorBuilder.java
index 3ed54e70508..f836c31a245 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ValidatorBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ValidatorBuilder.java
@@ -163,6 +163,6 @@ public class ValidatorBuilder {
         camelContext.getValidatorRegistry();
 
         validator.setType(type);
-        camelContext.adapt(ModelCamelContext.class).registerValidator(validator);
+        ((ModelCamelContext) camelContext).registerValidator(validator);
     }
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
index b0e32f7c954..47e211125dd 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
@@ -163,7 +163,7 @@ public final class RouteDefinitionHelper {
         }
 
         // also include already existing on camel context
-        for (final RouteDefinition def : context.adapt(ModelCamelContext.class).getRouteDefinitions()) {
+        for (final RouteDefinition def : ((ModelCamelContext) context).getRouteDefinitions()) {
             if (def.getId() != null) {
                 customIds.add(def.getId());
             }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
index de7352ca5fc..ab942f6372b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
@@ -253,7 +253,7 @@ public class RoutesDefinition extends OptionalIdentifiedDefinition<RoutesDefinit
         List<OnCompletionDefinition> oc = new ArrayList<>(onCompletions);
         if (getCamelContext() != null) {
             List<RouteConfigurationDefinition> globalConfigurations
-                    = getCamelContext().adapt(ModelCamelContext.class).getRouteConfigurationDefinitions();
+                    = ((ModelCamelContext) getCamelContext()).getRouteConfigurationDefinitions();
             if (globalConfigurations != null) {
                 String[] ids;
                 if (route.getRouteConfigurationId() != null) {
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/ErrorHandlerHelper.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/ErrorHandlerHelper.java
index 352fb51645f..23a23ddc5ff 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/ErrorHandlerHelper.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/ErrorHandlerHelper.java
@@ -68,7 +68,7 @@ public final class ErrorHandlerHelper {
                     // then fallback to the default error handler
                     // otherwise we could recursive loop forever (triggered by
                     // createErrorHandler method)
-                    answer = camelContext.adapt(ModelCamelContext.class).getModelReifierFactory().createDefaultErrorHandler();
+                    answer = ((ModelCamelContext) camelContext).getModelReifierFactory().createDefaultErrorHandler();
                 }
                 // inherit the error handlers from the other as they are to be
                 // shared
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
index 45ae6dba79b..bc9d5da4af5 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
@@ -219,11 +219,11 @@ public class ExpressionDefinition
 
     @Override
     public Expression createExpression(CamelContext camelContext) {
-        return camelContext.adapt(ModelCamelContext.class).createExpression(this);
+        return ((ModelCamelContext) camelContext).createExpression(this);
     }
 
     public Predicate createPredicate(CamelContext camelContext) {
-        return camelContext.adapt(ModelCamelContext.class).createPredicate(this);
+        return ((ModelCamelContext) camelContext).createPredicate(this);
     }
 
     //
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
index f65b1c42f3d..70343adb588 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/PollEnricher.java
@@ -355,7 +355,7 @@ public class PollEnricher extends AsyncProcessorSupport implements IdAware, Rout
             recipient = ((String) recipient).trim();
         }
         if (recipient != null) {
-            ExtendedCamelContext ecc = (ExtendedCamelContext) exchange.getContext();
+            CamelContext ecc = exchange.getContext();
             String uri;
             if (recipient instanceof String) {
                 uri = (String) recipient;
@@ -364,7 +364,7 @@ public class PollEnricher extends AsyncProcessorSupport implements IdAware, Rout
                 uri = ecc.getTypeConverter().mandatoryConvertTo(String.class, exchange, recipient);
             }
             // optimize and normalize endpoint
-            return ecc.normalizeUri(uri);
+            return ((ExtendedCamelContext) ecc).normalizeUri(uri);
         }
         return null;
     }
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
index 3ee0ae8f4c8..e9d6dabdc8e 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
@@ -335,7 +335,7 @@ public class RecipientListProcessor extends MulticastProcessor {
             recipient = ((String) recipient).trim();
         }
         if (recipient != null) {
-            ExtendedCamelContext ecc = (ExtendedCamelContext) exchange.getContext();
+            CamelContext ecc = exchange.getContext();
             String uri;
             if (recipient instanceof String) {
                 uri = (String) recipient;
@@ -344,7 +344,7 @@ public class RecipientListProcessor extends MulticastProcessor {
                 uri = ecc.getTypeConverter().mandatoryConvertTo(String.class, exchange, recipient);
             }
             // optimize and normalize endpoint
-            return ecc.normalizeUri(uri);
+            return ((ExtendedCamelContext) ecc).normalizeUri(uri);
         }
         return null;
     }
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
index 7e328d49bf1..0313dc26c06 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RoutingSlip.java
@@ -326,7 +326,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
             recipient = ((String) recipient).trim();
         }
         if (recipient != null) {
-            ExtendedCamelContext ecc = (ExtendedCamelContext) exchange.getContext();
+            CamelContext ecc = exchange.getContext();
             String uri;
             if (recipient instanceof String) {
                 uri = (String) recipient;
@@ -335,7 +335,7 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
                 uri = ecc.getTypeConverter().mandatoryConvertTo(String.class, exchange, recipient);
             }
             // optimize and normalize endpoint
-            return ecc.normalizeUri(uri);
+            return ((ExtendedCamelContext) ecc).normalizeUri(uri);
         }
         return null;
     }
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
index d3a87e1bcf8..d0c1e50db70 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendDynamicProcessor.java
@@ -254,7 +254,7 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
             recipient = ((String) recipient).trim();
         }
         if (recipient != null) {
-            ExtendedCamelContext ecc = (ExtendedCamelContext) exchange.getContext();
+            CamelContext ecc = exchange.getContext();
             String uri;
             if (recipient instanceof String) {
                 uri = (String) recipient;
@@ -268,7 +268,7 @@ public class SendDynamicProcessor extends AsyncProcessorSupport implements IdAwa
                 throw new ResolveEndpointFailedException(uri, "Endpoint should include scheme:path");
             }
             // optimize and normalize endpoint
-            return ecc.normalizeUri(uri);
+            return ((ExtendedCamelContext) ecc).normalizeUri(uri);
         }
         return null;
     }
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
index 6782c7f3170..47bb1e24851 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/SendProcessor.java
@@ -20,6 +20,7 @@ import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.AsyncProducer;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.EndpointAware;
 import org.apache.camel.Exchange;
@@ -51,7 +52,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
     private static final Logger LOG = LoggerFactory.getLogger(SendProcessor.class);
 
     protected transient String traceLabelToString;
-    protected final ExtendedCamelContext camelContext;
+    protected final CamelContext camelContext;
     protected final ExchangePattern pattern;
     protected ProducerCache producerCache;
     protected AsyncProducer producer;
@@ -69,7 +70,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
     public SendProcessor(Endpoint destination, ExchangePattern pattern) {
         ObjectHelper.notNull(destination, "destination");
         this.destination = destination;
-        this.camelContext = (ExtendedCamelContext) destination.getCamelContext();
+        this.camelContext = destination.getCamelContext();
         ObjectHelper.notNull(this.camelContext, "camelContext");
         this.pattern = pattern;
         this.destinationExchangePattern = null;
@@ -139,7 +140,7 @@ public class SendProcessor extends AsyncProcessorSupport implements Traceable, E
             // set property which endpoint we send to
             exchange.setProperty(ExchangePropertyKey.TO_ENDPOINT, destination.getEndpointUri());
 
-            final boolean sending = camelContext.isEventNotificationApplicable()
+            final boolean sending = ((ExtendedCamelContext) camelContext).isEventNotificationApplicable()
                     && EventHelper.notifyExchangeSending(exchange.getContext(), target, destination);
             // record timing for sending the exchange using the producer
             StopWatch watch;
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java
index 1ed7c53d95f..f0a986cabab 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java
@@ -18,6 +18,7 @@ package org.apache.camel.processor;
 
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.AsyncProcessor;
+import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExtendedCamelContext;
@@ -42,8 +43,9 @@ public final class UnitOfWorkProducer extends DefaultAsyncProducer {
         super(producer.getEndpoint());
         this.producer = producer;
         // wrap in unit of work
-        ExtendedCamelContext ecc = producer.getEndpoint().getCamelContext().adapt(ExtendedCamelContext.class);
-        this.processor = ecc.getInternalProcessorFactory().addUnitOfWorkProcessorAdvice(ecc, producer, null);
+        CamelContext ecc = producer.getEndpoint().getCamelContext();
+        this.processor = ((ExtendedCamelContext) ecc).getInternalProcessorFactory()
+                .addUnitOfWorkProcessorAdvice(ecc, producer, null);
     }
 
     @Override
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 44bcb60b9f5..912d61f5108 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -86,7 +86,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
     protected AsyncProcessor outputAsync;
 
     // configuration
-    protected final ExtendedCamelContext camelContext;
+    protected final CamelContext camelContext;
     protected final ReactiveExecutor reactiveExecutor;
     protected final AsyncProcessorAwaitManager awaitManager;
     protected final ShutdownStrategy shutdownStrategy;
@@ -116,7 +116,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
         ObjectHelper.notNull(camelContext, "CamelContext", this);
         ObjectHelper.notNull(redeliveryPolicy, "RedeliveryPolicy", this);
 
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
         this.reactiveExecutor = camelContext.adapt(ExtendedCamelContext.class).getReactiveExecutor();
         this.awaitManager = camelContext.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
         this.shutdownStrategy = camelContext.getShutdownStrategy();
@@ -879,7 +879,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
             }
 
             // emmit event we are doing redelivery
-            if (camelContext.isEventNotificationApplicable()) {
+            if (((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                 EventHelper.notifyExchangeRedelivery(exchange.getContext(), exchange, redeliveryCounter);
             }
 
@@ -1181,7 +1181,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
                 // fire event as we had a failure processor to handle it, which there is a event for
                 final boolean deadLetterChannel = processor == deadLetter;
 
-                if (camelContext.isEventNotificationApplicable()) {
+                if (((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                     EventHelper.notifyExchangeFailureHandling(exchange.getContext(), exchange, processor, deadLetterChannel,
                             deadLetterUri);
                 }
@@ -1193,7 +1193,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
                     try {
                         prepareExchangeAfterFailure(exchange, isDeadLetterChannel, shouldHandle, shouldContinue);
                         // fire event as we had a failure processor to handle it, which there is a event for
-                        if (camelContext.isEventNotificationApplicable()) {
+                        if (((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                             EventHelper.notifyExchangeFailureHandled(exchange.getContext(), exchange, processor,
                                     deadLetterChannel, deadLetterUri);
                         }
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index a492b8645a3..67935aa903b 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -761,7 +761,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
         ErrorHandlerFactory builder = route.getErrorHandlerFactory();
 
         // create error handler
-        Processor errorHandler = camelContext.adapt(ModelCamelContext.class).getModelReifierFactory().createErrorHandler(route,
+        Processor errorHandler = ((ModelCamelContext) camelContext).getModelReifierFactory().createErrorHandler(route,
                 builder, output);
 
         if (output instanceof ErrorHandlerAware) {
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
index e8239ebf32f..d97f2594b07 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -339,7 +339,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
         // this needs to be done here at the end because the route may be transactional and have a transaction error handler
         // automatic be configured which some EIPs like Multicast/RecipientList needs to be using for special fine-grained error handling
         ErrorHandlerFactory builder = route.getErrorHandlerFactory();
-        Processor errorHandler = camelContext.adapt(ModelCamelContext.class).getModelReifierFactory().createErrorHandler(route,
+        Processor errorHandler = ((ModelCamelContext) camelContext).getModelReifierFactory().createErrorHandler(route,
                 builder, null);
         prepareErrorHandlerAware(route, errorHandler);
 
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
index e09ab4c61c8..adf296b8154 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
@@ -33,7 +33,7 @@ public class ErrorHandlerRefReifier extends ErrorHandlerReifier<RefErrorHandlerD
     @Override
     public Processor createErrorHandler(Processor processor) throws Exception {
         ErrorHandlerFactory handler = lookupErrorHandler(route);
-        return camelContext.adapt(ModelCamelContext.class).getModelReifierFactory().createErrorHandler(route, handler,
+        return ((ModelCamelContext) camelContext).getModelReifierFactory().createErrorHandler(route, handler,
                 processor);
     }
 
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyErrorHandlerRefReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyErrorHandlerRefReifier.java
index aa6ef97e4cf..0cad0096c4a 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyErrorHandlerRefReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/LegacyErrorHandlerRefReifier.java
@@ -37,7 +37,7 @@ public class LegacyErrorHandlerRefReifier extends ErrorHandlerReifier<ErrorHandl
     @Override
     public Processor createErrorHandler(Processor processor) throws Exception {
         ErrorHandlerFactory handler = lookupErrorHandler(route);
-        return camelContext.adapt(ModelCamelContext.class).getModelReifierFactory().createErrorHandler(route, handler,
+        return ((ModelCamelContext) camelContext).getModelReifierFactory().createErrorHandler(route, handler,
                 processor);
     }
 
diff --git a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index a08db1d0dc5..e71d97c5789 100644
--- a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -364,7 +364,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
         if (modelLifecycleStrategies != null && !modelLifecycleStrategies.isEmpty()) {
             for (Entry<String, ModelLifecycleStrategy> entry : modelLifecycleStrategies.entrySet()) {
                 ModelLifecycleStrategy strategy = entry.getValue();
-                ModelCamelContext mcc = getContext().adapt(ModelCamelContext.class);
+                ModelCamelContext mcc = getContext();
                 if (!mcc.getModelLifecycleStrategies().contains(strategy)) {
                     LOG.info("Using custom ModelLifecycleStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
                     mcc.addModelLifecycleStrategy(strategy);
@@ -610,7 +610,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
             List<OnCompletionDefinition> oc = new ArrayList<>(getOnCompletions());
             if (getContext() != null) {
                 List<RouteConfigurationDefinition> globalConfigurations
-                        = getContext().adapt(ModelCamelContext.class).getRouteConfigurationDefinitions();
+                        = getContext().getRouteConfigurationDefinitions();
                 if (globalConfigurations != null) {
                     // if there are multiple ids configured then we should apply in that same order
                     String[] ids = route.getRouteConfigurationId() != null
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/RouteModelLifecycleTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/RouteModelLifecycleTest.java
index 0199f5a8bfe..965cced8fe1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/RouteModelLifecycleTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/RouteModelLifecycleTest.java
@@ -33,7 +33,7 @@ public class RouteModelLifecycleTest extends ContextTestSupport {
     @Test
     public void testModelLifecycle() throws Exception {
         // add lifecycle before we add routes
-        context.adapt(ModelCamelContext.class).addModelLifecycleStrategy(new ModelLifecycleStrategySupport() {
+        context.addModelLifecycleStrategy(new ModelLifecycleStrategySupport() {
             @Override
             public void onAddRouteDefinition(RouteDefinition route) {
                 // lets mutate the template a bit
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateModelLifecycleTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateModelLifecycleTest.java
index 5415833568a..c4b2fefa933 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateModelLifecycleTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/RouteTemplateModelLifecycleTest.java
@@ -33,7 +33,7 @@ public class RouteTemplateModelLifecycleTest extends ContextTestSupport {
     @Test
     public void testModelLifecycle() throws Exception {
         // add lifecycle before we add routes
-        context.adapt(ModelCamelContext.class).addModelLifecycleStrategy(new ModelLifecycleStrategySupport() {
+        context.addModelLifecycleStrategy(new ModelLifecycleStrategySupport() {
             @Override
             public void onAddRouteTemplateDefinition(RouteTemplateDefinition template) {
                 // lets mutate the template a bit
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDeleteExchangePooledTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDeleteExchangePooledTest.java
index abceedaa42f..a9527bc6b08 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDeleteExchangePooledTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDeleteExchangePooledTest.java
@@ -43,7 +43,7 @@ public class FileConsumerDeleteExchangePooledTest extends ContextTestSupport {
 
         context.getExchangeFactory().setStatisticsEnabled(true);
         context.getProcessorExchangeFactory().setStatisticsEnabled(true);
-        return context;
+        return (CamelContext) context;
     }
 
     @Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/EventDrivenPollingConsumerCopyTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/EventDrivenPollingConsumerCopyTest.java
index 7f76810fdb3..cd3694c4cb7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/EventDrivenPollingConsumerCopyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/EventDrivenPollingConsumerCopyTest.java
@@ -69,7 +69,7 @@ public class EventDrivenPollingConsumerCopyTest extends ContextTestSupport {
         context.start();
 
         // should be 0 inflight
-        assertEquals(0, context.adapt(ExtendedCamelContext.class).getInflightRepository().size());
+        assertEquals(0, context.getInflightRepository().size());
 
         getMockEndpoint("mock:result").expectedMessageCount(1);
         template.sendBody("direct:start", "Hello World");
@@ -85,14 +85,14 @@ public class EventDrivenPollingConsumerCopyTest extends ContextTestSupport {
         assertNotEquals(polled.getExchangeId(), original.getExchangeId());
 
         // should be 1 inflight
-        assertEquals(1, context.adapt(ExtendedCamelContext.class).getInflightRepository().size());
+        assertEquals(1, context.getInflightRepository().size());
 
         // done uow
         polled.getUnitOfWork().done(polled);
         assertTrue(done.get(), "UoW should be done now");
 
         // should be 0 inflight
-        assertEquals(0, context.adapt(ExtendedCamelContext.class).getInflightRepository().size());
+        assertEquals(0, context.getInflightRepository().size());
 
         pc.stop();
         context.stop();
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/ModelCamelContextTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/ModelCamelContextTest.java
index 1bf44186b11..e1165cc1bd4 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/ModelCamelContextTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/ModelCamelContextTest.java
@@ -27,7 +27,7 @@ public class ModelCamelContextTest extends ContextTestSupport {
 
     @Test
     public void testAdapt() throws Exception {
-        ModelCamelContext mcc = context.adapt(ModelCamelContext.class);
+        ModelCamelContext mcc = context;
         assertNotNull(mcc);
         assertSame(context, mcc);
 
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/BatchConsumerPooledExchangeTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/BatchConsumerPooledExchangeTest.java
index 4d44889707b..28d731177e2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/BatchConsumerPooledExchangeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/BatchConsumerPooledExchangeTest.java
@@ -51,7 +51,7 @@ public class BatchConsumerPooledExchangeTest extends ContextTestSupport {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        return ecc;
+        return (CamelContext) ecc;
     }
 
     @Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PooledExchangeTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PooledExchangeTest.java
index 2165488872d..1c70e11c592 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PooledExchangeTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PooledExchangeTest.java
@@ -48,7 +48,7 @@ class PooledExchangeTest extends ContextTestSupport {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        return ecc;
+        return (CamelContext) ecc;
     }
 
     @Test
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 3f53dfa2ed3..f146c51544f 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
@@ -360,15 +360,15 @@ public final class DefaultConfigurationConfigurer {
     public static void afterConfigure(final CamelContext camelContext) throws Exception {
         final Registry registry = camelContext.getRegistry();
         final ManagementStrategy managementStrategy = camelContext.getManagementStrategy();
-        final ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class);
+        final CamelContext ecc = camelContext;
 
         StartupStepRecorder ssr = getSingleBeanOfType(registry, StartupStepRecorder.class);
         if (ssr != null) {
-            ecc.setStartupStepRecorder(ssr);
+            ((ExtendedCamelContext) ecc).setStartupStepRecorder(ssr);
         }
         CliConnectorFactory ccf = getSingleBeanOfType(registry, CliConnectorFactory.class);
         if (ccf != null) {
-            ecc.setCliConnectorFactory(ccf);
+            ((ExtendedCamelContext) ecc).setCliConnectorFactory(ccf);
         }
         PropertiesComponent pc = getSingleBeanOfType(registry, PropertiesComponent.class);
         if (pc != null) {
@@ -384,7 +384,7 @@ public final class DefaultConfigurationConfigurer {
         }
         AsyncProcessorAwaitManager apam = getSingleBeanOfType(registry, AsyncProcessorAwaitManager.class);
         if (apam != null) {
-            ecc.setAsyncProcessorAwaitManager(apam);
+            ((ExtendedCamelContext) ecc).setAsyncProcessorAwaitManager(apam);
         }
         ManagementStrategy ms = getSingleBeanOfType(registry, ManagementStrategy.class);
         if (ms != null) {
@@ -400,7 +400,7 @@ public final class DefaultConfigurationConfigurer {
         }
         UnitOfWorkFactory uowf = getSingleBeanOfType(registry, UnitOfWorkFactory.class);
         if (uowf != null) {
-            ecc.setUnitOfWorkFactory(uowf);
+            ((ExtendedCamelContext) ecc).setUnitOfWorkFactory(uowf);
         }
         RuntimeEndpointRegistry rer = getSingleBeanOfType(registry, RuntimeEndpointRegistry.class);
         if (rer != null) {
@@ -408,7 +408,7 @@ public final class DefaultConfigurationConfigurer {
         }
         ModelJAXBContextFactory mjcf = getSingleBeanOfType(registry, ModelJAXBContextFactory.class);
         if (mjcf != null) {
-            ecc.setModelJAXBContextFactory(mjcf);
+            ((ExtendedCamelContext) ecc).setModelJAXBContextFactory(mjcf);
         }
         ClassResolver cr = getSingleBeanOfType(registry, ClassResolver.class);
         if (cr != null) {
@@ -416,7 +416,7 @@ public final class DefaultConfigurationConfigurer {
         }
         FactoryFinderResolver ffr = getSingleBeanOfType(registry, FactoryFinderResolver.class);
         if (ffr != null) {
-            ecc.setFactoryFinderResolver(ffr);
+            ((ExtendedCamelContext) ecc).setFactoryFinderResolver(ffr);
         }
         RouteController rc = getSingleBeanOfType(registry, RouteController.class);
         if (rc != null) {
@@ -436,7 +436,7 @@ public final class DefaultConfigurationConfigurer {
         }
         ProcessorFactory pf = getSingleBeanOfType(registry, ProcessorFactory.class);
         if (pf != null) {
-            ecc.setProcessorFactory(pf);
+            ((ExtendedCamelContext) ecc).setProcessorFactory(pf);
         }
         Debugger debugger = getSingleBeanOfType(registry, Debugger.class);
         if (debugger != null) {
@@ -444,7 +444,7 @@ public final class DefaultConfigurationConfigurer {
         }
         NodeIdFactory nif = getSingleBeanOfType(registry, NodeIdFactory.class);
         if (nif != null) {
-            ecc.setNodeIdFactory(nif);
+            ((ExtendedCamelContext) ecc).setNodeIdFactory(nif);
         }
         MessageHistoryFactory mhf = getSingleBeanOfType(registry, MessageHistoryFactory.class);
         if (mhf != null) {
@@ -452,7 +452,7 @@ public final class DefaultConfigurationConfigurer {
         }
         ReactiveExecutor re = getSingleBeanOfType(registry, ReactiveExecutor.class);
         if (re != null) {
-            ecc.setReactiveExecutor(re);
+            ((ExtendedCamelContext) ecc).setReactiveExecutor(re);
         }
         ShutdownStrategy ss = getSingleBeanOfType(registry, ShutdownStrategy.class);
         if (ss != null) {
@@ -460,7 +460,7 @@ public final class DefaultConfigurationConfigurer {
         }
         ExchangeFactory exf = getSingleBeanOfType(registry, ExchangeFactory.class);
         if (exf != null) {
-            ecc.setExchangeFactory(exf);
+            ((ExtendedCamelContext) ecc).setExchangeFactory(exf);
         }
         Set<TypeConverters> tcs = registry.findByType(TypeConverters.class);
         if (!tcs.isEmpty()) {
@@ -468,7 +468,7 @@ public final class DefaultConfigurationConfigurer {
         }
         Set<EndpointStrategy> ess = registry.findByType(EndpointStrategy.class);
         if (!ess.isEmpty()) {
-            ess.forEach(ecc::registerEndpointCallback);
+            ess.forEach(((ExtendedCamelContext) ecc)::registerEndpointCallback);
         }
         Set<CamelClusterService> csss = registry.findByType(CamelClusterService.class);
         if (!csss.isEmpty()) {
@@ -491,7 +491,7 @@ public final class DefaultConfigurationConfigurer {
         final Predicate<LifecycleStrategy> containsLifecycleStrategy = camelContext.getLifecycleStrategies()::contains;
         registerPropertiesForBeanTypesWithCondition(registry, LifecycleStrategy.class, containsLifecycleStrategy.negate(),
                 camelContext::addLifecycleStrategy);
-        ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
+        ModelCamelContext mcc = (ModelCamelContext) camelContext;
         final Predicate<ModelLifecycleStrategy> containsModelLifecycleStrategy = mcc.getModelLifecycleStrategies()::contains;
         registerPropertiesForBeanTypesWithCondition(registry, ModelLifecycleStrategy.class,
                 containsModelLifecycleStrategy.negate(), mcc::addModelLifecycleStrategy);
@@ -500,9 +500,9 @@ public final class DefaultConfigurationConfigurer {
         Map<String, LogListener> logListeners = registry.findByTypeWithName(LogListener.class);
         if (logListeners != null && !logListeners.isEmpty()) {
             for (LogListener logListener : logListeners.values()) {
-                boolean contains = ecc.getLogListeners() != null && ecc.getLogListeners().contains(logListener);
+                boolean contains = ((ExtendedCamelContext) ecc).getLogListeners() != null && ((ExtendedCamelContext) ecc).getLogListeners().contains(logListener);
                 if (!contains) {
-                    ecc.addLogListener(logListener);
+                    ((ExtendedCamelContext) ecc).addLogListener(logListener);
                 }
             }
         }
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainAutowiredLifecycleStrategy.java b/core/camel-main/src/main/java/org/apache/camel/main/MainAutowiredLifecycleStrategy.java
index a3b022e3786..7938e7e66f2 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainAutowiredLifecycleStrategy.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainAutowiredLifecycleStrategy.java
@@ -44,11 +44,11 @@ public class MainAutowiredLifecycleStrategy extends LifecycleStrategySupport imp
     private final Map<String, Component> autowrieComponents = new HashMap<>();
     private final Map<String, DataFormat> autowrieDataFormats = new HashMap<>();
     private final Map<String, Language> autowrieLanguages = new HashMap<>();
-    private final ExtendedCamelContext camelContext;
+    private final CamelContext camelContext;
     private volatile boolean initializing;
 
     public MainAutowiredLifecycleStrategy(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
     }
 
     @Override
@@ -129,7 +129,7 @@ public class MainAutowiredLifecycleStrategy extends LifecycleStrategySupport imp
     }
 
     private void autwire(String name, String kind, Object target) {
-        PropertyConfigurer pc = camelContext.getConfigurerResolver().resolvePropertyConfigurer(name + "-" + kind, camelContext);
+        PropertyConfigurer pc = ((ExtendedCamelContext) camelContext).getConfigurerResolver().resolvePropertyConfigurer(name + "-" + kind, camelContext);
         if (pc instanceof PropertyConfigurerGetter) {
             PropertyConfigurerGetter getter = (PropertyConfigurerGetter) pc;
             String[] names = getter.getAutowiredNames();
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java b/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
index e5276a13d95..d143d6cc016 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainSupportModelConfigurer.java
@@ -51,7 +51,7 @@ public final class MainSupportModelConfigurer {
             OrderedLocationProperties faultToleranceProperties)
             throws Exception {
 
-        ModelCamelContext model = camelContext.adapt(ModelCamelContext.class);
+        ModelCamelContext model = (ModelCamelContext) camelContext;
 
         if (!resilience4jProperties.isEmpty() || mainConfigurationProperties.hasResilience4jConfiguration()) {
             Resilience4jConfigurationProperties resilience4j = mainConfigurationProperties.resilience4j();
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java
index 15be3592f60..fd09d95c25e 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java
@@ -52,7 +52,7 @@ public class MainIoCTest {
         // and now its created
         assertNotNull(main.getCamelContext());
         // should be 1 route model
-        assertEquals(1, main.getCamelContext().adapt(ModelCamelContext.class).getRouteDefinitions().size());
+        assertEquals(1, ((ModelCamelContext) main.getCamelContext()).getRouteDefinitions().size());
         // and the configuration should have registered beans
         assertNotNull(main.getCamelContext().getRegistry().lookupByName("MyCoolBean"));
         assertEquals("Tiger", main.getCamelContext().getRegistry().lookupByName("coolStuff"));
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRouteTemplateTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteTemplateTest.java
index 0646841a01f..ea8fd5feb8e 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainRouteTemplateTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteTemplateTest.java
@@ -45,8 +45,8 @@ public class MainRouteTemplateTest {
         main.start();
 
         CamelContext context = main.getCamelContext();
-        assertEquals(1, context.adapt(ModelCamelContext.class).getRouteTemplateDefinitions().size());
-        assertEquals("mytemplate", context.adapt(ModelCamelContext.class).getRouteTemplateDefinitions().get(0).getId());
+        assertEquals(1, ((ModelCamelContext) context).getRouteTemplateDefinitions().size());
+        assertEquals("mytemplate", ((ModelCamelContext) context).getRouteTemplateDefinitions().get(0).getId());
 
         MockEndpoint mock = context.getEndpoint("mock:cheese", MockEndpoint.class);
         mock.expectedBodiesReceived("Hello Camel", "Hello World");
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRoutePlaceholderTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRoutePlaceholderTest.java
index c7d119eb33b..17fcec63bb8 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRoutePlaceholderTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRoutePlaceholderTest.java
@@ -51,7 +51,7 @@ class MainTemplatedRoutePlaceholderTest {
         main.start();
 
         CamelContext context = main.getCamelContext();
-        assertEquals(1, context.adapt(ModelCamelContext.class).getRouteDefinitions().size());
+        assertEquals(1, ((ModelCamelContext) context).getRouteDefinitions().size());
 
         MockEndpoint mock = context.getEndpoint("mock:out", MockEndpoint.class);
         mock.expectedBodiesReceived("Hello-appendvalue");
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRouteTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRouteTest.java
index d2657101191..87c4d163342 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRouteTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainTemplatedRouteTest.java
@@ -48,8 +48,8 @@ class MainTemplatedRouteTest {
         main.start();
 
         CamelContext context = main.getCamelContext();
-        assertEquals(1, context.adapt(ModelCamelContext.class).getRouteDefinitions().size());
-        assertEquals("my-route", context.adapt(ModelCamelContext.class).getRouteDefinitions().get(0).getId());
+        assertEquals(1, ((ModelCamelContext) context).getRouteDefinitions().size());
+        assertEquals("my-route", ((ModelCamelContext) context).getRouteDefinitions().get(0).getId());
 
         MockEndpoint mock = context.getEndpoint("mock:barVal", MockEndpoint.class);
         mock.expectedBodiesReceived("Hello Camel");
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 2e37df0d07b..15b591563b8 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
@@ -711,7 +711,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
             // loop the routes, and append the node ids (via processor)
             for (ManagedRouteMBean route : routes) {
                 // grab route consumer
-                RouteDefinition rd = context.adapt(ModelCamelContext.class).getRouteDefinition(route.getRouteId());
+                RouteDefinition rd = ((ModelCamelContext) context).getRouteDefinition(route.getRouteId());
                 if (rd != null) {
                     String id = rd.getRouteId();
                     int line = rd.getInput().getLineNumber();
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 1138130c080..b7ccc033ec2 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
@@ -588,7 +588,7 @@ public class ManagedRoute extends ManagedPerformanceCounter implements TimerList
             processors.sort(new OrderProcessorMBeans());
 
             // grab route consumer
-            RouteDefinition rd = context.adapt(ModelCamelContext.class).getRouteDefinition(route.getRouteId());
+            RouteDefinition rd = ((ModelCamelContext) context).getRouteDefinition(route.getRouteId());
             if (rd != null) {
                 String id = rd.getRouteId();
                 int line = rd.getInput().getLineNumber();
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
index f89ac0121e7..227e9c5503f 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultMessage.java
@@ -47,7 +47,7 @@ public class DefaultMessage extends MessageSupport {
     }
 
     public DefaultMessage(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
         this.typeConverter = camelContext.getTypeConverter();
     }
 
@@ -284,13 +284,13 @@ public class DefaultMessage extends MessageSupport {
 
     @Override
     public void setHeaders(Map<String, Object> headers) {
-        HeadersMapFactory factory = camelContext.getHeadersMapFactory();
+        HeadersMapFactory factory = ((ExtendedCamelContext) camelContext).getHeadersMapFactory();
         if (factory != null) {
             if (factory.isInstanceOf(headers)) {
                 this.headers = headers;
             } else {
                 // create a new map
-                this.headers = camelContext.getHeadersMapFactory().newMap(headers);
+                this.headers = ((ExtendedCamelContext) camelContext).getHeadersMapFactory().newMap(headers);
             }
         } else {
             // should not really happen but some tests rely on using camel context that is not started
@@ -321,7 +321,7 @@ public class DefaultMessage extends MessageSupport {
     protected Map<String, Object> createHeaders() {
         Map<String, Object> map;
 
-        HeadersMapFactory factory = camelContext.getHeadersMapFactory();
+        HeadersMapFactory factory = ((ExtendedCamelContext) camelContext).getHeadersMapFactory();
         if (factory != null) {
             map = factory.newMap();
         } else {
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/MessageSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/MessageSupport.java
index 3c97a7f76f9..fac6df58d72 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/MessageSupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/MessageSupport.java
@@ -19,7 +19,6 @@ package org.apache.camel.support;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.Message;
 import org.apache.camel.TypeConverter;
@@ -34,7 +33,7 @@ import org.apache.camel.spi.DataTypeAware;
  * from {@link DefaultMessage}
  */
 public abstract class MessageSupport implements Message, CamelContextAware, DataTypeAware {
-    ExtendedCamelContext camelContext;
+    CamelContext camelContext;
     TypeConverter typeConverter;
     private Exchange exchange;
     private Object body;
@@ -258,7 +257,7 @@ public abstract class MessageSupport implements Message, CamelContextAware, Data
 
     @Override
     public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
         this.typeConverter = camelContext.getTypeConverter();
     }
 
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java
index 9854f62ca5b..6c2564e4af2 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java
@@ -57,7 +57,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
     private static final Logger LOG = LoggerFactory.getLogger(DefaultProducerCache.class);
     private static final long ACQUIRE_WAIT_TIME = 30000;
 
-    private final ExtendedCamelContext camelContext;
+    private final CamelContext camelContext;
     private final ProducerServicePool producers;
     private final Object source;
     private final SharedInternalProcessor sharedInternalProcessor;
@@ -69,7 +69,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
 
     public DefaultProducerCache(Object source, CamelContext camelContext, int cacheSize) {
         this.source = source;
-        this.camelContext = (ExtendedCamelContext) camelContext;
+        this.camelContext = camelContext;
         this.maxCacheSize = cacheSize <= 0 ? CamelContextHelper.getMaximumCachePoolSize(camelContext) : cacheSize;
         if (cacheSize >= 0) {
             this.producers = createServicePool(camelContext, maxCacheSize);
@@ -88,7 +88,8 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
 
         // internal processor used for sending
         sharedInternalProcessor
-                = this.camelContext.getInternalProcessorFactory().createSharedCamelInternalProcessor(this.camelContext);
+                = this.camelContext.adapt(ExtendedCamelContext.class)
+                    .getInternalProcessorFactory().createSharedCamelInternalProcessor(camelContext);
     }
 
     protected ProducerServicePool createServicePool(CamelContext camelContext, int cacheSize) {
@@ -188,7 +189,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
             // send the exchange using the processor
             StopWatch watch = null;
             try {
-                if (eventNotifierEnabled && camelContext.isEventNotificationApplicable()) {
+                if (eventNotifierEnabled && ((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                     boolean sending = EventHelper.notifyExchangeSending(exchange.getContext(), exchange, endpoint);
                     if (sending) {
                         watch = new StopWatch();
@@ -312,7 +313,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
         try {
             // record timing for sending the exchange using the producer
             StopWatch watch;
-            if (eventNotifierEnabled && camelContext.isEventNotificationApplicable()) {
+            if (eventNotifierEnabled && ((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                 boolean sending = EventHelper.notifyExchangeSending(exchange.getContext(), exchange, endpoint);
                 if (sending) {
                     watch = new StopWatch();
@@ -359,7 +360,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
 
         // send the exchange using the processor
         try {
-            if (eventNotifierEnabled && camelContext.isEventNotificationApplicable()) {
+            if (eventNotifierEnabled && ((ExtendedCamelContext) camelContext).isEventNotificationApplicable()) {
                 callback = new EventNotifierCallback(callback, exchange, endpoint);
             }
             // invoke the asynchronous method
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/EmptyProducerCache.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/EmptyProducerCache.java
index d3623a540c5..c3aceb9747d 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/cache/EmptyProducerCache.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/EmptyProducerCache.java
@@ -26,12 +26,12 @@ import org.apache.camel.support.service.ServiceHelper;
 public class EmptyProducerCache extends DefaultProducerCache {
 
     private final Object source;
-    private final ExtendedCamelContext ecc;
+    private final CamelContext ecc;
 
     public EmptyProducerCache(Object source, CamelContext camelContext) {
         super(source, camelContext, -1);
         this.source = source;
-        this.ecc = camelContext.adapt(ExtendedCamelContext.class);
+        this.ecc = camelContext;
         setExtendedStatistics(false);
     }
 
@@ -41,7 +41,7 @@ public class EmptyProducerCache extends DefaultProducerCache {
         AsyncProducer answer;
         try {
             answer = endpoint.createAsyncProducer();
-            boolean startingRoutes = ecc.isSetupRoutes() || ecc.getRouteController().isStartingRoutes();
+            boolean startingRoutes = ((ExtendedCamelContext) ecc).isSetupRoutes() || ecc.getRouteController().isStartingRoutes();
             if (startingRoutes && answer.isSingleton()) {
                 // if we are currently starting a route, then add as service and enlist in JMX
                 // - but do not enlist non-singletons in JMX
diff --git a/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
index f0be34b4c9b..0f44745b95b 100644
--- a/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainRestsTest.java
@@ -96,7 +96,7 @@ public class JavaMainRestsTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
 
-        List<RestDefinition> restDefinitions = camelContext.adapt(ModelCamelContext.class).getRestDefinitions();
+        List<RestDefinition> restDefinitions = ((ModelCamelContext) camelContext).getRestDefinitions();
         assertEquals(1, restDefinitions.size());
 
         RestDefinition restDefinition = restDefinitions.get(0);
diff --git a/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
index fd755fa717a..7820f387218 100644
--- a/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
+++ b/dsl/camel-java-joor-dsl/src/test/java/org/apache/camel/dsl/java/joor/JavaMainTemplateTest.java
@@ -77,7 +77,7 @@ public class JavaMainTemplateTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
         assertEquals(0, camelContext.getRoutes().size());
-        assertEquals(1, camelContext.adapt(ModelCamelContext.class).getRouteTemplateDefinitions().size());
+        assertEquals(1, ((ModelCamelContext) camelContext).getRouteTemplateDefinitions().size());
 
         main.stop();
     }
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index 6b7bdb79f7a..2fe1669c520 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -321,7 +321,7 @@ public class KameletMain extends MainCommandLineSupport {
 
             // register as extension
             try {
-                answer.adapt(ExtendedCamelContext.class).addService(downloader);
+                answer.addService(downloader);
             } catch (Exception e) {
                 throw RuntimeCamelException.wrapRuntimeException(e);
             }
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CircuitBreakerDownloader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CircuitBreakerDownloader.java
index 3e2cca7c6d9..1acbbb04de9 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CircuitBreakerDownloader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/CircuitBreakerDownloader.java
@@ -46,14 +46,12 @@ public final class CircuitBreakerDownloader {
                             }
                             if (cb.getConfiguration() != null) {
                                 String id = cb.getConfiguration();
-                                Object cfg = route.getCamelContext().adapt(ModelCamelContext.class)
-                                        .getResilience4jConfiguration(id);
+                                Object cfg = ((ModelCamelContext) route.getCamelContext()).getResilience4jConfiguration(id);
                                 if (cfg != null) {
                                     downloader.downloadDependency("org.apache.camel", "camel-resilience4j",
                                             route.getCamelContext().getVersion());
                                 }
-                                cfg = route.getCamelContext().adapt(ModelCamelContext.class)
-                                        .getFaultToleranceConfiguration(id);
+                                cfg = ((ModelCamelContext) route.getCamelContext()).getFaultToleranceConfiguration(id);
                                 if (cfg != null) {
                                     downloader.downloadDependency("org.apache.camel", "camel-microprofile-fault-tolerance",
                                             route.getCamelContext().getVersion());
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderRoutesLoader.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderRoutesLoader.java
index fe0272d829a..777b337c61a 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderRoutesLoader.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderRoutesLoader.java
@@ -75,8 +75,8 @@ public class DependencyDownloaderRoutesLoader extends DefaultRoutesLoader {
         }
         if (loader == null) {
             // need to use regular factory finder as bootstrap has already marked the loader as a miss
-            final ExtendedCamelContext ecc = getCamelContext().adapt(ExtendedCamelContext.class);
-            final FactoryFinder finder = ecc.getFactoryFinder(RoutesBuilderLoader.FACTORY_PATH);
+            final CamelContext ecc = getCamelContext();
+            final FactoryFinder finder = ((ExtendedCamelContext) ecc).getFactoryFinder(RoutesBuilderLoader.FACTORY_PATH);
             loader = ResolverHelper.resolveService(ecc, finder, extension, RoutesBuilderLoader.class).orElse(null);
             if (loader != null) {
                 CamelContextAware.trySetCamelContext(loader, getCamelContext());
diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
index a8ffe061bbf..88da0fdd20f 100644
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
@@ -90,7 +90,7 @@ public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
             private void addConfigurations(RouteConfigurationsDefinition configurations) {
                 CamelContextAware.trySetCamelContext(getRouteCollection(), getCamelContext());
                 for (RouteConfigurationDefinition config : configurations.getRouteConfigurations()) {
-                    getCamelContext().adapt(ModelCamelContext.class).addRouteConfiguration(config);
+                    ((ModelCamelContext) getCamelContext()).addRouteConfiguration(config);
                 }
             }
         };
diff --git a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
index 35ce217c14e..ccfc05182ab 100644
--- a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainRestsTest.java
@@ -96,7 +96,7 @@ public class XmlMainRestsTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
 
-        List<RestDefinition> restDefinitions = camelContext.adapt(ModelCamelContext.class).getRestDefinitions();
+        List<RestDefinition> restDefinitions = ((ModelCamelContext) camelContext).getRestDefinitions();
         assertEquals(1, restDefinitions.size());
 
         RestDefinition restDefinition = restDefinitions.get(0);
diff --git a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
index 50577d0e4b3..734f4ae39cb 100644
--- a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplateTest.java
@@ -77,7 +77,7 @@ public class XmlMainTemplateTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
         assertEquals(0, camelContext.getRoutes().size());
-        assertEquals(1, camelContext.adapt(ModelCamelContext.class).getRouteTemplateDefinitions().size());
+        assertEquals(1, ((ModelCamelContext) camelContext).getRouteTemplateDefinitions().size());
 
         main.stop();
     }
diff --git a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplatedRouteFromDifferentDSLTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplatedRouteFromDifferentDSLTest.java
index 1315c3271a0..eae4e482809 100644
--- a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplatedRouteFromDifferentDSLTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlMainTemplatedRouteFromDifferentDSLTest.java
@@ -44,8 +44,8 @@ class XmlMainTemplatedRouteFromDifferentDSLTest {
         main.start();
 
         CamelContext context = main.getCamelContext();
-        assertEquals(1, context.adapt(ModelCamelContext.class).getRouteDefinitions().size());
-        assertEquals("my-route", context.adapt(ModelCamelContext.class).getRouteDefinitions().get(0).getId());
+        assertEquals(1, ((ModelCamelContext) context).getRouteDefinitions().size());
+        assertEquals("my-route", ((ModelCamelContext) context).getRouteDefinitions().get(0).getId());
 
         MockEndpoint mock = context.getEndpoint("mock:barVal", MockEndpoint.class);
         mock.expectedBodiesReceived("Hello Camel");
diff --git a/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
index a304c7c5ade..7af7ef725ae 100644
--- a/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainRestsTest.java
@@ -96,7 +96,7 @@ public class JaxbXmlMainRestsTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
 
-        List<RestDefinition> restDefinitions = camelContext.adapt(ModelCamelContext.class).getRestDefinitions();
+        List<RestDefinition> restDefinitions = ((ModelCamelContext) camelContext).getRestDefinitions();
         assertEquals(1, restDefinitions.size());
 
         RestDefinition restDefinition = restDefinitions.get(0);
diff --git a/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
index 3057baef719..0f6a21e9ee7 100644
--- a/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
+++ b/dsl/camel-xml-jaxb-dsl/src/test/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlMainTemplateTest.java
@@ -77,7 +77,7 @@ public class JaxbXmlMainTemplateTest {
         CamelContext camelContext = main.getCamelContext();
         assertNotNull(camelContext);
         assertEquals(0, camelContext.getRoutes().size());
-        assertEquals(1, camelContext.adapt(ModelCamelContext.class).getRouteTemplateDefinitions().size());
+        assertEquals(1, ((ModelCamelContext) camelContext).getRouteTemplateDefinitions().size());
 
         main.stop();
     }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
index 5ca80d1fe99..e54e6f7be60 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
@@ -28,7 +28,6 @@ import java.util.function.Function;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Ordered;
 import org.apache.camel.Service;
 import org.apache.camel.dsl.yaml.common.exception.DuplicateKeyException;
@@ -48,7 +47,7 @@ public class YamlDeserializationContext extends StandardConstructor implements C
 
     private final Set<YamlDeserializerResolver> resolvers;
     private final Map<String, ConstructNode> constructors;
-    private ExtendedCamelContext camelContext;
+    private CamelContext camelContext;
     private Resource resource;
 
     public YamlDeserializationContext(LoadSettings settings) {
@@ -84,7 +83,7 @@ public class YamlDeserializationContext extends StandardConstructor implements C
 
     @Override
     public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext.adapt(ExtendedCamelContext.class);
+        this.camelContext = camelContext;
     }
 
     @Override
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
index ce8339d7420..eb8dc0e8ddb 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
@@ -76,8 +76,7 @@ public final class YamlSupport {
 
         if (configurer == null) {
             // see if there is a configurer for it
-            configurer = context.adapt(ExtendedCamelContext.class)
-                    .getConfigurerResolver()
+            configurer = ((ExtendedCamelContext) context).getConfigurerResolver()
                     .resolvePropertyConfigurer(target.getClass().getSimpleName(), context);
         }
 
@@ -150,7 +149,7 @@ public final class YamlSupport {
         }
 
         final String scheme = uri.contains(":") ? StringHelper.before(uri, ":") : uri;
-        final EndpointUriFactory factory = context.adapt(ExtendedCamelContext.class).getEndpointUriFactory(scheme);
+        final EndpointUriFactory factory = ((ExtendedCamelContext) context).getEndpointUriFactory(scheme);
 
         try {
             if (factory != null && factory.isEnabled(scheme)) {
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
index 5162d6d2808..aa6391f504f 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
@@ -68,7 +68,7 @@ public class ErrorHandlerBuilderDeserializer implements ConstructNode {
         return new CamelContextCustomizer() {
             @Override
             public void configure(CamelContext camelContext) {
-                camelContext.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(builder);
+                ((ExtendedCamelContext) camelContext).setErrorHandlerFactory(builder);
             }
         };
     }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/EmptyRouteFileTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/EmptyRouteFileTest.groovy
index b057f2ed9cd..a8cf0a686d1 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/EmptyRouteFileTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/EmptyRouteFileTest.groovy
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.dsl.yaml
 
-import org.apache.camel.ExtendedCamelContext
 import org.apache.camel.dsl.yaml.support.YamlTestSupport
 import org.apache.camel.spi.Resource
 import org.apache.camel.spi.RoutesLoader
@@ -27,7 +26,7 @@ class EmptyRouteFileTest extends YamlTestSupport {
 
     def "empty file"() {
         when:
-            RoutesLoader loader = context.adapt(ExtendedCamelContext.class).getRoutesLoader()
+            RoutesLoader loader = context.getRoutesLoader()
             Resource res = ResourceHelper.fromString("dummy.yaml", "");
         then:
             try {
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DataFormatComponentConfigurationAndDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DataFormatComponentConfigurationAndDocumentationTest.java
index 2c31224fa6d..c9ba2b1b0a6 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DataFormatComponentConfigurationAndDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DataFormatComponentConfigurationAndDocumentationTest.java
@@ -44,7 +44,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends CamelT
     @Test
     void testFlatpackDefaultValue() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("flatpack");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("flatpack");
             assertNotNull(json);
 
             DataFormatModel model = JsonMapper.generateDataFormatModel(json);
@@ -70,7 +70,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends CamelT
     @Test
     void testUniVocityTsvEscapeChar() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("univocity-tsv");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("univocity-tsv");
             assertNotNull(json);
 
             DataFormatModel model = JsonMapper.generateDataFormatModel(json);
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DirectComponentConfigurationAndDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DirectComponentConfigurationAndDocumentationTest.java
index 3433239be51..7e3c9b9954f 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DirectComponentConfigurationAndDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/DirectComponentConfigurationAndDocumentationTest.java
@@ -36,7 +36,7 @@ public class DirectComponentConfigurationAndDocumentationTest extends CamelTestS
     @Test
     void testComponentJsonSchema() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getComponentParameterJsonSchema("direct");
+            String json = ((CatalogCamelContext) context).getComponentParameterJsonSchema("direct");
             assertNotNull(json, "Should have found some auto-generated JSON");
         }
     }
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/EipDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/EipDocumentationTest.java
index e24fa6ea9c5..320a1337a02 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/EipDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/EipDocumentationTest.java
@@ -42,7 +42,7 @@ public class EipDocumentationTest extends CamelTestSupport {
     @Test
     void testDocumentation() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("from");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("from");
             LOG.info(json);
             assertNotNull(json, "Should have found json for from");
 
@@ -55,7 +55,7 @@ public class EipDocumentationTest extends CamelTestSupport {
     @Test
     void testSplitDocumentation() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("split");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("split");
             LOG.info(json);
             assertNotNull("Should have found json for split", json);
 
@@ -71,7 +71,7 @@ public class EipDocumentationTest extends CamelTestSupport {
     @Test
     void testSimpleDocumentation() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("simple");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("simple");
             LOG.info(json);
             assertNotNull("Should have found json for simple", json);
 
@@ -83,7 +83,7 @@ public class EipDocumentationTest extends CamelTestSupport {
     @Test
     void testFailOverDocumentation() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("failover");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("failover");
             LOG.info(json);
             assertNotNull("Should have found json for failover", json);
 
@@ -97,7 +97,7 @@ public class EipDocumentationTest extends CamelTestSupport {
     @Test
     void testNotFound() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getEipParameterJsonSchema("unknown");
+            String json = ((CatalogCamelContext) context).getEipParameterJsonSchema("unknown");
             assertNull(json, "Should not have found json for unknown");
         }
     }
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/GroovyLanguageConfigurationAndDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/GroovyLanguageConfigurationAndDocumentationTest.java
index 50bdbd04d42..d41e85bcee8 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/GroovyLanguageConfigurationAndDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/GroovyLanguageConfigurationAndDocumentationTest.java
@@ -41,7 +41,7 @@ public class GroovyLanguageConfigurationAndDocumentationTest extends CamelTestSu
     @Test
     void testLanguageJsonSchema() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getLanguageParameterJsonSchema("groovy");
+            String json = ((CatalogCamelContext) context).getLanguageParameterJsonSchema("groovy");
             assertNotNull(json, "Should have found some auto-generated JSON");
             LOG.info(json);
 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/SimpleLanguageConfigurationAndDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/SimpleLanguageConfigurationAndDocumentationTest.java
index 584b74511cf..77fe60a42b0 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/SimpleLanguageConfigurationAndDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/SimpleLanguageConfigurationAndDocumentationTest.java
@@ -41,7 +41,7 @@ public class SimpleLanguageConfigurationAndDocumentationTest extends CamelTestSu
     @Test
     void testLanguageJsonSchema() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getLanguageParameterJsonSchema("simple");
+            String json = ((CatalogCamelContext) context).getLanguageParameterJsonSchema("simple");
             assertNotNull(json, "Should have found some auto-generated JSON");
             LOG.info(json);
 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/StringDataFormatConfigurationAndDocumentationTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/StringDataFormatConfigurationAndDocumentationTest.java
index 2e5d0190df5..43c086d4c24 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/StringDataFormatConfigurationAndDocumentationTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/doc/StringDataFormatConfigurationAndDocumentationTest.java
@@ -41,7 +41,7 @@ public class StringDataFormatConfigurationAndDocumentationTest extends CamelTest
     @Test
     void testDataFormatJsonSchema() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            String json = context.adapt(CatalogCamelContext.class).getDataFormatParameterJsonSchema("string");
+            String json = ((CatalogCamelContext) context).getDataFormatParameterJsonSchema("string");
             assertNotNull(json, "Should have found some auto-generated JSON");
             LOG.info(json);