You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/01/25 12:36:14 UTC

[camel-quarkus] branch main updated: Remove quarkus.camel.main.enabled configuration property

This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new 1490868  Remove quarkus.camel.main.enabled configuration property
1490868 is described below

commit 1490868f0f139eb3d8e0dea336940d5fff5fdf55
Author: James Netherton <ja...@gmail.com>
AuthorDate: Tue Jan 25 07:16:38 2022 +0000

    Remove quarkus.camel.main.enabled configuration property
    
    Fixes #3446
---
 docs/modules/ROOT/pages/migration-guide/2.7.0.adoc |   5 +
 .../ROOT/pages/reference/extensions/core.adoc      |   6 -
 .../core/deployment/CamelContextProcessor.java     |  71 ------------
 .../main/CamelMainHotDeploymentProcessor.java      |   3 +-
 .../main/CamelMainNativeImageProcessor.java        |   5 +-
 .../core/deployment/main/CamelMainProcessor.java   |  27 ++---
 .../core/deployment/main/spi/CamelMainEnabled.java |  40 -------
 .../core/deployment/main/DisabledMainTest.java     |  79 -------------
 extensions-core/core/runtime/pom.xml               |   4 -
 .../camel/quarkus/core/CamelCapabilities.java      |   1 -
 .../apache/camel/quarkus/main/CamelMainConfig.java |   8 --
 .../csimple/deployment/CSimpleXmlProcessor.java    |  79 +++++++------
 .../component/jfr/deployment/JfrProcessor.java     |   3 +-
 .../deployment/CustomRoutesCollectorProcessor.java |   2 +-
 integration-tests/main-disabled/pom.xml            | 122 ---------------------
 .../camel/quarkus/main/MainDisabledResource.java   |  78 -------------
 .../MainDisabledRouteConfigurationException.java   |  29 -----
 .../main/MainDisabledRouteConfigurations.java      |  31 ------
 .../main/MainDisabledRouteConfigurationsCDI.java   |  34 ------
 .../camel/quarkus/main/MainDisabledRoutes.java     |  44 --------
 .../camel/quarkus/main/MainDisabledRoutesCDI.java  |  47 --------
 .../src/main/resources/application.properties      |  21 ----
 .../apache/camel/quarkus/main/MainDisabledIT.java  |  23 ----
 .../camel/quarkus/main/MainDisabledTest.java       |  85 --------------
 integration-tests/pom.xml                          |   1 -
 tooling/scripts/test-categories.yaml               |   1 -
 26 files changed, 56 insertions(+), 793 deletions(-)

diff --git a/docs/modules/ROOT/pages/migration-guide/2.7.0.adoc b/docs/modules/ROOT/pages/migration-guide/2.7.0.adoc
index 543413e..9712597 100644
--- a/docs/modules/ROOT/pages/migration-guide/2.7.0.adoc
+++ b/docs/modules/ROOT/pages/migration-guide/2.7.0.adoc
@@ -5,3 +5,8 @@ The following guide outlines how to adapt your code to changes that were made in
 == Deprecated vertx-kafka extension has been removed
 
 The deprecated `vertx-kafka` extension has been removed. Any routes using this component will need modifying to use the xref:reference/extensions/kafka.adoc[`kafka`] extension.
+
+== Removal of configuration property `quarkus.camel.main.enabled`
+
+xref:{cq-camel-components}:others:main.adoc[Camel Main] has been enabled as the default bootstrap mode since Camel Quarkus 1.8.0. The configuration property `quarkus.camel.main.enabled` 
+has now been removed as there are no major benefits to disabling Camel Main.
diff --git a/docs/modules/ROOT/pages/reference/extensions/core.adoc b/docs/modules/ROOT/pages/reference/extensions/core.adoc
index a313a3f..facf0e7 100644
--- a/docs/modules/ROOT/pages/reference/extensions/core.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/core.adoc
@@ -247,12 +247,6 @@ Whether to enable the bridging of Camel events to CDI events.
 | `boolean`
 | `true`
 
-|icon:lock[title=Fixed at build time] [[quarkus.camel.main.enabled]]`link:#quarkus.camel.main.enabled[quarkus.camel.main.enabled]`
-
-If `true` all `camel-main` features are enabled; otherwise no `camel-main` features are enabled. See described the xref:user-guide/configuration.adoc[Configuration] section of Camel Quarkus documentation for more details.
-| `boolean`
-| `true`
-
 |icon:lock[title=Fixed at build time] [[quarkus.camel.main.shutdown.timeout]]`link:#quarkus.camel.main.shutdown.timeout[quarkus.camel.main.shutdown.timeout]`
 
 A timeout (with millisecond precision) to wait for `CamelMain++#++stop()` to finish
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
index f74bd39..6b8b6a4 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
@@ -24,19 +24,15 @@ import java.util.stream.Collectors;
 
 import io.quarkus.arc.deployment.BeanContainerBuildItem;
 import io.quarkus.arc.deployment.BeanDiscoveryFinishedBuildItem;
-import io.quarkus.arc.deployment.SyntheticBeansRuntimeInitBuildItem;
 import io.quarkus.deployment.IsDevelopment;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.Consume;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.runtime.RuntimeValue;
 import org.apache.camel.CamelContext;
 import org.apache.camel.quarkus.core.CamelConfig;
 import org.apache.camel.quarkus.core.CamelContextRecorder;
-import org.apache.camel.quarkus.core.CamelRuntime;
-import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.quarkus.core.deployment.spi.CamelComponentNameResolverBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextCustomizerBuildItem;
@@ -44,12 +40,7 @@ import org.apache.camel.quarkus.core.deployment.spi.CamelFactoryFinderResolverBu
 import org.apache.camel.quarkus.core.deployment.spi.CamelModelJAXBContextFactoryBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelModelToXMLDumperBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRegistryBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesBuilderClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeTaskBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelTypeConverterRegistryBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.ContainerBeansBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
 import org.apache.camel.quarkus.core.deployment.util.CamelSupport;
 import org.apache.camel.spi.ModelJAXBContextFactory;
 import org.apache.camel.spi.TypeConverterRegistry;
@@ -120,68 +111,6 @@ public class CamelContextProcessor {
     }
 
     /**
-     * This build steps assembles the default implementation of a {@link CamelRuntime} responsible to bootstrap
-     * Camel.
-     * <p>
-     * This implementation provides the minimal features for a fully functional and ready to use {@link CamelRuntime} by
-     * loading all the discoverable {@link org.apache.camel.RoutesBuilder} into the auto-configured {@link CamelContext}
-     * but does not perform any advanced set-up such as:
-     * <ul>
-     * <li>auto-configure components/languages/data-formats through properties which is then under user responsibility
-     * <li>take control of the application life-cycle
-     * </ul>
-     * <p>
-     * For advanced auto-configuration capabilities add camel-quarkus-main to the list of dependencies.
-     *
-     * @param  beanContainer        a reference to a fully initialized CDI bean container
-     * @param  containerBeans       a list of bean known by the CDI container used to filter out auto-discovered routes from
-     *                              those known by the CDI container.
-     * @param  recorder             the recorder
-     * @param  context              a build item providing an augmented {@link org.apache.camel.CamelContext} instance.
-     * @param  customizers          a list of {@link org.apache.camel.spi.CamelContextCustomizer} used to customize
-     *                              the {@link CamelContext} at {@link ExecutionTime#RUNTIME_INIT}.
-     * @param  routesBuilderClasses a list of known {@link org.apache.camel.RoutesBuilder} classes.
-     * @param  runtimeTasks         a placeholder to ensure all the runtime task are properly are done.
-     *                              to the registry.
-     * @param  config               a reference to the Camel Quarkus configuration
-     * @return                      a build item holding a {@link CamelRuntime} instance.
-     */
-    @BuildStep(onlyIfNot = CamelMainEnabled.class)
-    @Record(value = ExecutionTime.RUNTIME_INIT, optional = true)
-    /* @Consume(SyntheticBeansRuntimeInitBuildItem.class) makes sure that camel-main starts after the ArC container is
-     * fully initialized. This is required as under the hoods the camel registry may look-up beans from the
-     * container thus we need it to be fully initialized to avoid unexpected behaviors. */
-    @Consume(SyntheticBeansRuntimeInitBuildItem.class)
-    public CamelRuntimeBuildItem runtime(
-            BeanContainerBuildItem beanContainer,
-            ContainerBeansBuildItem containerBeans,
-            CamelContextRecorder recorder,
-            CamelContextBuildItem context,
-            List<RuntimeCamelContextCustomizerBuildItem> customizers,
-            List<CamelRoutesBuilderClassBuildItem> routesBuilderClasses,
-            List<CamelRuntimeTaskBuildItem> runtimeTasks,
-            CamelConfig config) {
-
-        if (config.routesDiscovery.enabled) {
-            List<String> nonCdiRoutesBuilderClassNames = routesBuilderClasses.stream()
-                    .filter(item -> !containerBeans.getClasses().contains(item.getDotName()))
-                    .map(item -> item.getDotName().toString())
-                    .collect(Collectors.toList());
-            recorder.addRoutes(context.getCamelContext(), nonCdiRoutesBuilderClassNames);
-        }
-
-        // run the customizer before starting the context to give a last second
-        // chance to amend camel context setup
-        for (RuntimeCamelContextCustomizerBuildItem customizer : customizers) {
-            recorder.customize(context.getCamelContext(), customizer.get());
-        }
-
-        return new CamelRuntimeBuildItem(
-                recorder.createRuntime(beanContainer.getValue(), context.getCamelContext()),
-                config.bootstrap.enabled);
-    }
-
-    /**
      * Registers Camel CDI event bridges if quarkus.camel.event-bridge.enabled=true and if
      * the relevant events have CDI observers configured for them.
      *
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
index 424e3d7..fa8b0d3 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
@@ -24,7 +24,6 @@ import java.util.stream.Collectors;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.HotDeploymentWatchedFileBuildItem;
-import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,7 +32,7 @@ class CamelMainHotDeploymentProcessor {
     private static final String FILE_PREFIX = "file:";
     private static final String CLASSPATH_PREFIX = "classpath:";
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     List<HotDeploymentWatchedFileBuildItem> locations() {
         List<HotDeploymentWatchedFileBuildItem> items = CamelMainHelper.routesIncludePattern()
                 .map(CamelMainHotDeploymentProcessor::routesIncludePatternToLocation)
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
index 430ed2b..30eaa68 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
@@ -24,7 +24,6 @@ import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.support.ResourceHelper;
 import org.apache.camel.util.AntPathMatcher;
 import org.jboss.logging.Logger;
@@ -32,7 +31,7 @@ import org.jboss.logging.Logger;
 public class CamelMainNativeImageProcessor {
     private static final Logger LOG = Logger.getLogger(CamelMainNativeImageProcessor.class);
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     void reflectiveCLasses(BuildProducer<ReflectiveClassBuildItem> producer) {
         // TODO: The classes below are needed to fix https://github.com/apache/camel-quarkus/issues/1005
         //       but we need to investigate why it does not fail with Java 1.8
@@ -46,7 +45,7 @@ public class CamelMainNativeImageProcessor {
                 org.apache.camel.quarkus.main.CamelMainApplication.class));
     }
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     private void camelNativeImageResources(
             Capabilities capabilities,
             BuildProducer<NativeImageResourceBuildItem> nativeResource) {
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
index a5ec42a..55be294 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
@@ -41,7 +41,6 @@ import org.apache.camel.quarkus.core.CamelRecorder;
 import org.apache.camel.quarkus.core.CamelRuntime;
 import org.apache.camel.quarkus.core.deployment.CamelContextProcessor.EventBridgeEnabled;
 import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainBuildItem;
-import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainListenerBuildItem;
 import org.apache.camel.quarkus.core.deployment.main.spi.CamelRoutesCollectorBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
@@ -49,8 +48,6 @@ import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesBuilderClassBuild
 import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesLoaderBuildItems;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeTaskBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.ContainerBeansBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
 import org.apache.camel.quarkus.main.CamelMain;
@@ -63,12 +60,12 @@ import org.jboss.jandex.IndexView;
 
 public class CamelMainProcessor {
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     void unremovableBeans(BuildProducer<AdditionalBeanBuildItem> beanProducer) {
         beanProducer.produce(AdditionalBeanBuildItem.unremovableOf(CamelMainProducers.class));
     }
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
     public CamelRoutesLoaderBuildItems.Registry routesLoader(CamelConfig config, CamelRecorder recorder) {
         return config.routesDiscovery.enabled
@@ -77,7 +74,7 @@ public class CamelMainProcessor {
     }
 
     @Overridable
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
     public CamelRoutesCollectorBuildItem routesCollector(
             CamelMainRecorder recorder,
@@ -100,7 +97,7 @@ public class CamelMainProcessor {
      * @return                      a build item holding a {@link CamelMain} instance.
      */
     @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     CamelMainBuildItem main(
             BeanContainerBuildItem beanContainer,
             ContainerBeansBuildItem containerBeans,
@@ -160,8 +157,8 @@ public class CamelMainProcessor {
      * @param  camelMainConfig a {@link CamelMainConfig}
      * @return                 a build item holding a {@link CamelRuntime} instance.
      */
-    @BuildStep(onlyIf = CamelMainEnabled.class)
-    @Record(value = ExecutionTime.RUNTIME_INIT, optional = true)
+    @BuildStep
+    @Record(value = ExecutionTime.RUNTIME_INIT)
     /*
      * @Consume(SyntheticBeansRuntimeInitBuildItem.class) makes sure that camel-main starts after the ArC container is
      * fully initialized. This is required as under the hoods the camel registry may look-up beans from the
@@ -204,7 +201,7 @@ public class CamelMainProcessor {
      * @param recorder      the CamelContext recorder instance
      */
     @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep(onlyIf = { CamelMainEnabled.class, EventBridgeEnabled.class })
+    @BuildStep(onlyIf = EventBridgeEnabled.class)
     public void registerCamelMainEventBridge(
             BeanDiscoveryFinishedBuildItem beanDiscovery,
             CamelMainBuildItem main,
@@ -221,17 +218,9 @@ public class CamelMainProcessor {
         }
     }
 
-    @BuildStep(onlyIf = CamelMainEnabled.class)
+    @BuildStep
     AdditionalIndexedClassesBuildItem indexCamelMainApplication() {
         // Required for launching CamelMain based applications from the IDE
         return new AdditionalIndexedClassesBuildItem(CamelMainApplication.class.getName());
     }
-
-    @BuildStep(onlyIfNot = CamelMainEnabled.class)
-    void coreServicePatterns(BuildProducer<CamelServicePatternBuildItem> services) {
-        services.produce(new CamelServicePatternBuildItem(
-                CamelServiceDestination.DISCOVERY,
-                false,
-                "META-INF/services/org/apache/camel/configurer/org.apache.camel.main.*"));
-    }
 }
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java
deleted file mode 100644
index 8612d07..0000000
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.core.deployment.main.spi;
-
-import java.util.function.BooleanSupplier;
-
-import io.quarkus.runtime.RuntimeValue;
-import org.apache.camel.quarkus.main.CamelMain;
-import org.apache.camel.quarkus.main.CamelMainConfig;
-
-/**
- * Holds the {@link CamelMain} {@link RuntimeValue}.
- */
-public class CamelMainEnabled implements BooleanSupplier {
-
-    private final CamelMainConfig mainConfig;
-
-    CamelMainEnabled(CamelMainConfig mainConfig) {
-        this.mainConfig = mainConfig;
-    }
-
-    @Override
-    public boolean getAsBoolean() {
-        return mainConfig.enabled;
-    }
-}
diff --git a/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java
deleted file mode 100644
index 3043a31..0000000
--- a/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.core.deployment.main;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Properties;
-
-import javax.inject.Inject;
-
-import io.quarkus.arc.Arc;
-import io.quarkus.test.QuarkusUnitTest;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.direct.DirectComponent;
-import org.apache.camel.quarkus.main.CamelMain;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.Asset;
-import org.jboss.shrinkwrap.api.asset.StringAsset;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class DisabledMainTest {
-    @RegisterExtension
-    static final QuarkusUnitTest CONFIG = new QuarkusUnitTest()
-            .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
-                    .addAsResource(applicationProperties(), "application.properties"));
-
-    private static final int TIMEOUT = 1234;
-
-    @Inject
-    CamelContext camelContext;
-
-    public static Asset applicationProperties() {
-        Writer writer = new StringWriter();
-
-        Properties props = new Properties();
-        props.setProperty("quarkus.banner.enabled", "false");
-        props.setProperty("quarkus.arc.remove-unused-beans", "false");
-        props.setProperty("camel.component.direct.timeout", String.valueOf(TIMEOUT));
-        props.setProperty("quarkus.camel.main.enabled", "false");
-
-        try {
-            props.store(writer, "");
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-
-        return new StringAsset(writer.toString());
-    }
-
-    @Test
-    public void componentAutoConfigurationNotWorking() {
-        assertThat(camelContext.getComponent("direct", DirectComponent.class).getTimeout()).isNotEqualTo(TIMEOUT);
-    }
-
-    @Test
-    public void mainUnavailable() {
-        assertThat(Arc.container().instance(CamelMain.class).isAvailable()).isFalse();
-    }
-
-}
diff --git a/extensions-core/core/runtime/pom.xml b/extensions-core/core/runtime/pom.xml
index 31bcf88..9b54fa9 100644
--- a/extensions-core/core/runtime/pom.xml
+++ b/extensions-core/core/runtime/pom.xml
@@ -116,10 +116,6 @@
                 <configuration>
                     <capabilities>
                         <provides>org.apache.camel</provides>
-                        <providesIf>
-                            <positive>org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled</positive>
-                            <name>org.apache.camel.main</name>
-                        </providesIf>
                     </capabilities>
                 </configuration>
             </plugin>
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelCapabilities.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelCapabilities.java
index fc9618f..8a873e8 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelCapabilities.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelCapabilities.java
@@ -19,7 +19,6 @@ package org.apache.camel.quarkus.core;
 public final class CamelCapabilities {
     public static final String BEAN = "org.apache.camel.bean";
     public static final String CORE = "org.apache.camel";
-    public static final String MAIN = "org.apache.camel.main";
     public static final String XML = "org.apache.camel.xml";
     public static final String XML_IO_DSL = "org.apache.camel.xml.io.dsl";
     public static final String XML_JAXB = "org.apache.camel.xml.jaxb";
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
index 86e0461..e249b93 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
@@ -26,14 +26,6 @@ import org.apache.camel.quarkus.core.CamelConfig.FailureRemedy;
 
 @ConfigRoot(name = "camel.main", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
 public class CamelMainConfig {
-    /**
-     * If {@code true} all {@code camel-main} features are enabled; otherwise no {@code camel-main} features are
-     * enabled. See described the
-     * <a href="https://camel.apache.org/camel-quarkus/latest/user-guide/configuration.html">Configuration</a>
-     * section of Camel Quarkus documentation for more details.
-     */
-    @ConfigItem(defaultValue = "true")
-    public boolean enabled;
 
     /**
      * Build time configuration options for {@link CamelMain} shutdown.
diff --git a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleXmlProcessor.java b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleXmlProcessor.java
index c8328d0..4c97d43 100644
--- a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleXmlProcessor.java
+++ b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleXmlProcessor.java
@@ -29,7 +29,6 @@ import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.engine.DefaultPackageScanResourceResolver;
-import org.apache.camel.quarkus.core.CamelCapabilities;
 import org.apache.camel.quarkus.core.CamelConfig;
 import org.apache.camel.quarkus.core.deployment.LanguageExpressionContentHandler;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesBuilderClassBuildItem;
@@ -49,51 +48,49 @@ public class CSimpleXmlProcessor {
             Capabilities capabilities)
             throws Exception {
 
-        if (capabilities.isCapabilityPresent(CamelCapabilities.MAIN)) {
-            final String[] includes = Stream.of(
-                    "camel.main.routesIncludePattern",
-                    "camel.main.routes-include-pattern")
-                    .map(prop -> CamelSupport.getOptionalConfigValue(prop, String[].class, new String[0]))
-                    .flatMap(Stream::of)
-                    .filter(path -> !path.equals("false"))
-                    .toArray(String[]::new);
+        final String[] includes = Stream.of(
+                "camel.main.routesIncludePattern",
+                "camel.main.routes-include-pattern")
+                .map(prop -> CamelSupport.getOptionalConfigValue(prop, String[].class, new String[0]))
+                .flatMap(Stream::of)
+                .filter(path -> !path.equals("false"))
+                .toArray(String[]::new);
 
-            final String[] excludes = Stream.of(
-                    "camel.main.routesExcludePattern",
-                    "camel.main.routes-exclude-pattern")
-                    .map(prop -> CamelSupport.getOptionalConfigValue(prop, String[].class, new String[0]))
-                    .flatMap(Stream::of)
-                    .filter(path -> !path.equals("false"))
-                    .toArray(String[]::new);
+        final String[] excludes = Stream.of(
+                "camel.main.routesExcludePattern",
+                "camel.main.routes-exclude-pattern")
+                .map(prop -> CamelSupport.getOptionalConfigValue(prop, String[].class, new String[0]))
+                .flatMap(Stream::of)
+                .filter(path -> !path.equals("false"))
+                .toArray(String[]::new);
 
-            try (DefaultPackageScanResourceResolver resolver = new DefaultPackageScanResourceResolver()) {
-                resolver.setCamelContext(new DefaultCamelContext());
+        try (DefaultPackageScanResourceResolver resolver = new DefaultPackageScanResourceResolver()) {
+            resolver.setCamelContext(new DefaultCamelContext());
 
-                final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
-                saxParserFactory.setNamespaceAware(true);
-                final SAXParser saxParser = saxParserFactory.newSAXParser();
+            final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
+            saxParserFactory.setNamespaceAware(true);
+            final SAXParser saxParser = saxParserFactory.newSAXParser();
 
-                for (String include : includes) {
-                    for (Resource resource : resolver.findResources(include)) {
-                        if (AntPathMatcher.INSTANCE.anyMatch(excludes, resource.getLocation())) {
-                            continue;
-                        }
+            for (String include : includes) {
+                for (Resource resource : resolver.findResources(include)) {
+                    if (AntPathMatcher.INSTANCE.anyMatch(excludes, resource.getLocation())) {
+                        continue;
+                    }
 
-                        try (InputStream is = resource.getInputStream()) {
-                            saxParser.parse(
-                                    is,
-                                    new LanguageExpressionContentHandler(
-                                            "csimple",
-                                            (script, isPredicate) -> csimpleExpressions.produce(
-                                                    new CSimpleExpressionSourceBuildItem(
-                                                            script,
-                                                            isPredicate,
-                                                            "org.apache.camel.language.csimple.XmlRouteBuilder"))));
-                        } catch (FileNotFoundException e) {
-                            LOG.debugf("No XML routes found in %s. Skipping XML routes detection.", resource.getLocation());
-                        } catch (Exception e) {
-                            throw new RuntimeException("Could not analyze CSimple expressions in " + resource.getLocation(), e);
-                        }
+                    try (InputStream is = resource.getInputStream()) {
+                        saxParser.parse(
+                                is,
+                                new LanguageExpressionContentHandler(
+                                        "csimple",
+                                        (script, isPredicate) -> csimpleExpressions.produce(
+                                                new CSimpleExpressionSourceBuildItem(
+                                                        script,
+                                                        isPredicate,
+                                                        "org.apache.camel.language.csimple.XmlRouteBuilder"))));
+                    } catch (FileNotFoundException e) {
+                        LOG.debugf("No XML routes found in %s. Skipping XML routes detection.", resource.getLocation());
+                    } catch (Exception e) {
+                        throw new RuntimeException("Could not analyze CSimple expressions in " + resource.getLocation(), e);
                     }
                 }
             }
diff --git a/extensions/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java b/extensions/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
index 58ad85a..0951e28 100644
--- a/extensions/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
+++ b/extensions/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
@@ -22,7 +22,6 @@ import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import org.apache.camel.quarkus.component.jfr.CamelJfrRecorder;
 import org.apache.camel.quarkus.component.jfr.RuntimeCamelJfrConfig;
-import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
@@ -36,7 +35,7 @@ class JfrProcessor {
         return new FeatureBuildItem(FEATURE);
     }
 
-    @BuildStep(onlyIf = { CamelMainEnabled.class })
+    @BuildStep
     CamelServicePatternBuildItem excludeCamelJfrServicePattern() {
         // Prevent camel main from overwriting the FlightRecorderStartupStepRecorder configured by this extension
         return new CamelServicePatternBuildItem(CamelServiceDestination.DISCOVERY, false,
diff --git a/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java b/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
index 41678e5..a02c523 100644
--- a/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
+++ b/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
@@ -25,7 +25,7 @@ import org.apache.camel.quarkus.main.runtime.support.CustomRoutesCollectorRecord
 public class CustomRoutesCollectorProcessor {
     @Record(ExecutionTime.STATIC_INIT)
     @BuildStep
-    CamelRoutesCollectorBuildItem listener(CustomRoutesCollectorRecorder recorder) {
+    CamelRoutesCollectorBuildItem collector(CustomRoutesCollectorRecorder recorder) {
         return new CamelRoutesCollectorBuildItem(recorder.createSupportCollector());
     }
 }
diff --git a/integration-tests/main-disabled/pom.xml b/integration-tests/main-disabled/pom.xml
deleted file mode 100644
index 364ed8d..0000000
--- a/integration-tests/main-disabled/pom.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-build-parent-it</artifactId>
-        <version>2.7.0-SNAPSHOT</version>
-        <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-integration-test-main-disabled</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Main Disabled :: Tests</name>
-    <description>The camel integration tests</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-direct</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-jsonb</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-resteasy-jsonb</artifactId>
-        </dependency>
-
-        <!-- test dependencies -->
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.rest-assured</groupId>
-            <artifactId>rest-assured</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <properties>
-                <quarkus.package.type>native</quarkus.package.type>
-            </properties>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>virtualDependencies</id>
-            <activation>
-                <property>
-                    <name>!noVirtualDependencies</name>
-                </property>
-            </activation>
-            <dependencies>
-                <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
-                <dependency>
-                    <groupId>org.apache.camel.quarkus</groupId>
-                    <artifactId>camel-quarkus-direct-deployment</artifactId>
-                    <version>${project.version}</version>
-                    <type>pom</type>
-                    <scope>test</scope>
-                    <exclusions>
-                        <exclusion>
-                            <groupId>*</groupId>
-                            <artifactId>*</artifactId>
-                        </exclusion>
-                    </exclusions>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-
-
-</project>
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledResource.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledResource.java
deleted file mode 100644
index d090328..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledResource.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.Route;
-
-@Path("/main-disabled")
-@ApplicationScoped
-public class MainDisabledResource {
-
-    @Inject
-    CamelContext context;
-
-    @Inject
-    ProducerTemplate template;
-
-    @Path("/inspect")
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    public JsonObject inspect() {
-        // collect the list of route classes instead of just the
-        // number of routes to help debugging in case of a failing
-        // tests
-        List<String> routes = context.getRoutes().stream()
-                .map(Route::getClass)
-                .map(Class::getName)
-                .collect(Collectors.toList());
-
-        return Json.createObjectBuilder()
-                .add("routes", Json.createArrayBuilder(routes))
-                .build();
-    }
-
-    @Path("/invoke-main-disabled-route")
-    @GET
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String invokeMainDisabledRoute(String content) {
-        return template.requestBody("direct:main-disabled", content, String.class);
-    }
-
-    @Path("/invoke-main-disabled-route-cdi")
-    @GET
-    @Consumes(MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public String invokeMainDisabledRouteCdi(String content) {
-        return template.requestBody("direct:main-disabled-cdi", content, String.class);
-    }
-}
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationException.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationException.java
deleted file mode 100644
index 80da4d0..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import io.quarkus.runtime.annotations.RegisterForReflection;
-
-@RegisterForReflection(fields = false, methods = false)
-public class MainDisabledRouteConfigurationException extends Exception {
-
-    private static final long serialVersionUID = 1L;
-
-    public MainDisabledRouteConfigurationException(String message) {
-        super(message);
-    }
-}
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurations.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurations.java
deleted file mode 100644
index 09c439e..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurations.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import org.apache.camel.builder.RouteConfigurationBuilder;
-
-public class MainDisabledRouteConfigurations extends RouteConfigurationBuilder {
-
-    @Override
-    public void configuration() {
-        routeConfiguration("main-disabled-route-configuration")
-                .onException(MainDisabledRouteConfigurationException.class)
-                .handled(true)
-                .setBody(constant("onException has been triggered in main-disabled-route-configuration"));
-    }
-
-}
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationsCDI.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationsCDI.java
deleted file mode 100644
index 1579269..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRouteConfigurationsCDI.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import javax.enterprise.context.ApplicationScoped;
-
-import org.apache.camel.builder.RouteConfigurationBuilder;
-
-@ApplicationScoped
-public class MainDisabledRouteConfigurationsCDI extends RouteConfigurationBuilder {
-
-    @Override
-    public void configuration() {
-        routeConfiguration("main-disabled-route-configuration-cdi")
-                .onException(MainDisabledRouteConfigurationException.class)
-                .handled(true)
-                .setBody(constant("onException has been triggered in main-disabled-route-configuration-cdi"));
-    }
-
-}
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutes.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutes.java
deleted file mode 100644
index 8bb2ac5..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutes.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-
-public class MainDisabledRoutes extends RouteBuilder {
-
-    private static final String EXCEPTION_MESSAGE = "Dummy exception thrown to trigger main-disabled-route-configuration";
-
-    @Override
-    public void configure() {
-        from("direct:main-disabled")
-                .routeConfigurationId("main-disabled-route-configuration")
-                .id("main-disabled")
-                .process(new Processor() {
-                    @Override
-                    public void process(Exchange exchange) throws MainDisabledRouteConfigurationException {
-                        String body = exchange.getIn().getBody(String.class);
-                        if ("main-disabled-exception".equals(body)) {
-                            throw new MainDisabledRouteConfigurationException(EXCEPTION_MESSAGE);
-                        }
-                        exchange.getMessage()
-                                .setBody("onException has NOT been triggered in main-disabled-route-configuration");
-                    }
-                });
-    }
-}
diff --git a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutesCDI.java b/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutesCDI.java
deleted file mode 100644
index 2473663..0000000
--- a/integration-tests/main-disabled/src/main/java/org/apache/camel/quarkus/main/MainDisabledRoutesCDI.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import javax.enterprise.context.ApplicationScoped;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-
-@ApplicationScoped
-public class MainDisabledRoutesCDI extends RouteBuilder {
-
-    private static final String EXCEPTION_MESSAGE = "Dummy exception thrown to trigger main-disabled-route-configuration-cdi";
-
-    @Override
-    public void configure() {
-        from("direct:main-disabled-cdi")
-                .routeConfigurationId("main-disabled-route-configuration-cdi")
-                .id("main-disabled-cdi")
-                .process(new Processor() {
-                    @Override
-                    public void process(Exchange exchange) throws MainDisabledRouteConfigurationException {
-                        String body = exchange.getIn().getBody(String.class);
-                        if ("main-disabled-cdi-exception".equals(body)) {
-                            throw new MainDisabledRouteConfigurationException(EXCEPTION_MESSAGE);
-                        }
-                        exchange.getMessage()
-                                .setBody("onException has NOT been triggered in main-disabled-route-configuration-cdi");
-                    }
-                });
-    }
-}
diff --git a/integration-tests/main-disabled/src/main/resources/application.properties b/integration-tests/main-disabled/src/main/resources/application.properties
deleted file mode 100644
index b9954cb..0000000
--- a/integration-tests/main-disabled/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-#
-# Quarkus :: Camel
-#
-quarkus.camel.main.enabled = false
diff --git a/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledIT.java b/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledIT.java
deleted file mode 100644
index 5d85362..0000000
--- a/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledIT.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import io.quarkus.test.junit.NativeImageTest;
-
-@NativeImageTest
-public class MainDisabledIT extends MainDisabledTest {
-}
diff --git a/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledTest.java b/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledTest.java
deleted file mode 100644
index c020e36..0000000
--- a/integration-tests/main-disabled/src/test/java/org/apache/camel/quarkus/main/MainDisabledTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.main;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import io.restassured.path.json.JsonPath;
-import org.junit.jupiter.api.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.Matchers.is;
-
-@QuarkusTest
-public class MainDisabledTest {
-    @Test
-    public void inspect() {
-        JsonPath path = RestAssured.when()
-                .get("/main-disabled/inspect")
-                .then()
-                .statusCode(200)
-                .extract()
-                .jsonPath();
-
-        assertThat(path.getList("routes", String.class)).hasSize(2);
-    }
-
-    @Test
-    public void invokeMainDisabledRouteWithNominalBodyShouldNotTriggerRouteConfiguration() {
-        RestAssured.given()
-                .body("nominal")
-                .when()
-                .get("/main-disabled/invoke-main-disabled-route")
-                .then()
-                .statusCode(200)
-                .body(is("onException has NOT been triggered in main-disabled-route-configuration"));
-    }
-
-    @Test
-    public void invokeMainDisabledRouteWithExceptionBodyShouldTriggerRouteConfiguration() {
-        RestAssured.given()
-                .body("main-disabled-exception")
-                .when()
-                .get("/main-disabled/invoke-main-disabled-route")
-                .then()
-                .statusCode(200)
-                .body(is("onException has been triggered in main-disabled-route-configuration"));
-    }
-
-    @Test
-    public void invokeMainDisabledRouteCdiWithNominalBodyShouldNotTriggerRouteConfigurationCdi() {
-        RestAssured.given()
-                .body("nominal")
-                .when()
-                .get("/main-disabled/invoke-main-disabled-route-cdi")
-                .then()
-                .statusCode(200)
-                .body(is("onException has NOT been triggered in main-disabled-route-configuration-cdi"));
-    }
-
-    @Test
-    public void invokeMainDisabledRouteCdiWithExceptionBodyShouldTriggerRouteConfigurationCdi() {
-        RestAssured.given()
-                .body("main-disabled-cdi-exception")
-                .when()
-                .get("/main-disabled/invoke-main-disabled-route-cdi")
-                .then()
-                .statusCode(200)
-                .body(is("onException has been triggered in main-disabled-route-configuration-cdi"));
-    }
-
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 45b80c9..2d94444 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -42,7 +42,6 @@
         <module>core-discovery-disabled</module>
         <module>main</module>
         <module>main-devmode</module>
-        <module>main-disabled</module>
         <module>main-discovery-disabled</module>
         <module>main-xml-jaxb</module>
         <module>main-xml-io</module>
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index 46c210c..1de5fd7 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -198,7 +198,6 @@ group-13:
   - jira
   - js-dsl
   - kubernetes
-  - main-disabled
   - salesforce
   - sap-netweaver
   - servicenow