You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2019/09/02 22:28:22 UTC

[camel-quarkus] branch master updated: Upgrade to Apache Camel RC1 #139

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 50735f1  Upgrade to Apache Camel RC1 #139
50735f1 is described below

commit 50735f1aac1a255a8bb399ba472f7f890e50286f
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Sun Aug 11 23:56:31 2019 +0200

    Upgrade to Apache Camel RC1 #139
---
 .../ROOT/pages/_partials/component-extensions.adoc |  2 +-
 extensions/core/deployment/pom.xml                 |  4 +
 .../quarkus/core/deployment/BuildProcessor.java    | 16 +---
 .../core/deployment/SubstrateProcessor.java        |  2 +-
 .../quarkus/core/deployment/XmlProcessor.java      |  6 +-
 extensions/core/runtime/pom.xml                    | 18 +++--
 .../camel/quarkus/core/runtime/CamelConfig.java    |  6 +-
 .../camel/quarkus/core/runtime/CamelRecorder.java  |  7 +-
 .../core/runtime/InitAtBuildTimeSelector.java      | 28 -------
 .../camel/quarkus/core/runtime/JaxbDisabled.java   | 29 -------
 ..._org_apache_camel_reifier_ProcessorReifier.java |  4 +-
 ...camel_reifier_dataformat_DataFormatReifier.java |  4 +-
 ...l_reifier_loadbalancer_LoadBalancerReifier.java |  4 +-
 ...mel_reifier_transformer_TransformerReifier.java |  4 +-
 ...e_camel_reifier_validator_ValidatorReifier.java |  4 +-
 ..._apache_camel_support_IntrospectionSupport.java |  6 +-
 .../quarkus/core/runtime/graal/XmlDisabled.java    | 28 -------
 .../core/runtime/support/FastCamelContext.java     | 91 +++++++++++-----------
 .../core/runtime/support/FastCamelRuntime.java     | 71 ++++++++++-------
 .../camel/quarkus/core/runtime/support/Flags.java  | 47 +++++++++++
 .../{netty4-http => netty-http}/deployment/pom.xml |  8 +-
 .../netty/http/deployment/NettyHTTPProcessor.java} |  4 +-
 extensions/{netty4-http => netty-http}/pom.xml     |  4 +-
 .../{netty4-http => netty-http}/runtime/pom.xml    |  8 +-
 ...t_netty_NettyServerBootstrapConfiguration.java} |  8 +-
 ...omponent_netty_NettyServerBossPoolBuilder.java} |  7 +-
 ...el_component_netty_NettyWorkerPoolBuilder.java} |  8 +-
 extensions/pom.xml                                 |  2 +-
 extensions/salesforce/runtime/pom.xml              |  6 --
 .../quarkus/component/core/cdi/CamelServlet.java   |  5 +-
 .../apache/camel/quarkus/core/CamelServlet.java    |  9 +--
 .../test/src/main/resources/application.properties |  3 +-
 .../org/apache/camel/quarkus/core/CamelTest.java   |  4 +-
 integration-tests/infinispan/pom.xml               |  4 +-
 .../quarkus/component/infinispan/CamelRoute.java   |  4 +-
 .../infinispan/CamelInfinispanITCase.java          |  6 --
 .../{netty4-http => netty-http}/pom.xml            |  6 +-
 .../quarkus/component/netty}/http/CamelRoute.java  |  4 +-
 .../src/main/resources/application.properties      |  0
 .../quarkus/component/netty}/http/CamelIT.java     |  2 +-
 .../quarkus/component/netty}/http/CamelTest.java   |  2 +-
 integration-tests/pom.xml                          |  2 +-
 integration-tests/servlet/pom.xml                  |  4 +
 pom.xml                                            |  2 +-
 poms/bom/pom.xml                                   |  9 ++-
 45 files changed, 229 insertions(+), 273 deletions(-)

diff --git a/docs/modules/ROOT/pages/_partials/component-extensions.adoc b/docs/modules/ROOT/pages/_partials/component-extensions.adoc
index 7698774..4d011b6 100644
--- a/docs/modules/ROOT/pages/_partials/component-extensions.adoc
+++ b/docs/modules/ROOT/pages/_partials/component-extensions.adoc
@@ -9,7 +9,7 @@
 * `camel-quarkus-infinispan`
 * `camel-quarkus-jdbc`
 * `camel-quarkus-log`
-* `camel-quarkus-netty4-http`
+* `camel-quarkus-netty-http`
 * `camel-quarkus-rest`
 * `camel-quarkus-salesforce`
 * `camel-quarkus-servlet`
diff --git a/extensions/core/deployment/pom.xml b/extensions/core/deployment/pom.xml
index e7b5bf6..04fed2f 100644
--- a/extensions/core/deployment/pom.xml
+++ b/extensions/core/deployment/pom.xml
@@ -53,6 +53,10 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jaxb-deployment</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-caffeine-deployment</artifactId>
+        </dependency>
         <!-- camel -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
index 2e1fd20..7b54831 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
@@ -51,8 +51,6 @@ import org.apache.camel.quarkus.core.runtime.CamelProducers;
 import org.apache.camel.quarkus.core.runtime.CamelRecorder;
 import org.apache.camel.quarkus.core.runtime.CamelRuntime;
 import org.apache.camel.quarkus.core.runtime.support.RuntimeRegistry;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.jboss.jandex.ClassInfo;
 import org.jboss.jandex.DotName;
 import org.slf4j.Logger;
@@ -73,20 +71,8 @@ class BuildProcessor {
             List<CamelRegistryBuildItem> registryItems,
             BuildProducer<RuntimeBeanBuildItem> runtimeBeans) {
 
-        Properties properties = new Properties();
-        Config configProvider = ConfigProvider.getConfig();
-        for (String property : configProvider.getPropertyNames()) {
-            if (property.startsWith("camel.")) {
-                properties.put(property, configProvider.getValue(property, String.class));
-            }
-            if (property.startsWith("integration.")) {
-                properties.put(property.substring("integration.".length()), configProvider.getValue(property, String.class));
-            }
-        }
-
-
         RuntimeRegistry registry = new RuntimeRegistry();
-        RuntimeValue<CamelRuntime> camelRuntime = recorder.create(registry, properties);
+        RuntimeValue<CamelRuntime> camelRuntime = recorder.create(registry);
 
         getBuildTimeRouteBuilderClasses().forEach(
             b -> recorder.addBuilder(camelRuntime, b)
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/SubstrateProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/SubstrateProcessor.java
index 80a4f77..de54556 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/SubstrateProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/SubstrateProcessor.java
@@ -85,7 +85,7 @@ class SubstrateProcessor {
             .build();
     }
 
-    @BuildStep(applicationArchiveMarkers = { CamelSupport.CAMEL_SERVICE_BASE_PATH, CamelSupport.CAMEL_ROOT_PACKAGE_DIRECTORY })
+    @BuildStep
     void process() {
         IndexView view = combinedIndexBuildItem.getIndex();
 
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/XmlProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/XmlProcessor.java
index 824b0de..df6dd15 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/XmlProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/XmlProcessor.java
@@ -21,7 +21,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
 import io.quarkus.jaxb.deployment.JaxbEnabledBuildItem;
 import io.quarkus.jaxb.deployment.JaxbFileRootBuildItem;
-import org.apache.camel.quarkus.core.runtime.JaxbDisabled;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 
 class XmlProcessor {
     @BuildStep
@@ -29,12 +29,12 @@ class XmlProcessor {
         return new JaxbFileRootBuildItem(CamelSupport.CAMEL_ROOT_PACKAGE_DIRECTORY);
     }
 
-    @BuildStep(onlyIfNot = JaxbDisabled.class)
+    @BuildStep(onlyIfNot = Flags.JaxbDisabled.class)
     JaxbEnabledBuildItem handleJaxbSupport() {
         return new JaxbEnabledBuildItem();
     }
 
-    @BuildStep(onlyIfNot = JaxbDisabled.class)
+    @BuildStep(onlyIfNot = Flags.JaxbDisabled.class)
     void registerReflectiveClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
         reflectiveClass.produce(
             new ReflectiveClassBuildItem(
diff --git a/extensions/core/runtime/pom.xml b/extensions/core/runtime/pom.xml
index c791e36..5eaf8d0 100644
--- a/extensions/core/runtime/pom.xml
+++ b/extensions/core/runtime/pom.xml
@@ -49,17 +49,15 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-arc</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-caffeine</artifactId>
+        </dependency>
 
         <!-- camel -->
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-core-engine</artifactId>
-            <exclusions>
-                <exclusion><!-- See https://github.com/apache/camel-quarkus/issues/80 -->
-                    <groupId>org.apache.camel</groupId>
-                    <artifactId>camel-caffeine-lrucache</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
@@ -69,6 +67,14 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-properties</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-caffeine-lrucache</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-microprofile-config</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>com.oracle.substratevm</groupId>
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelConfig.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelConfig.java
index d925a33..a358925 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelConfig.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelConfig.java
@@ -21,7 +21,7 @@ import java.util.List;
 import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
 import io.quarkus.runtime.annotations.ConfigRoot;
-import org.apache.camel.quarkus.core.runtime.graal.XmlDisabled;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 
 public class CamelConfig {
 
@@ -46,7 +46,7 @@ public class CamelConfig {
          * at runtime. This is useful when routes at loaded at build time and
          * thus the camel route model is not used at runtime anymore.
          *
-         * @see JaxbDisabled
+         * @see Flags.JaxbDisabled
          */
         @ConfigItem(defaultValue = "false")
         public boolean disableJaxb;
@@ -57,7 +57,7 @@ public class CamelConfig {
          * a lot of code space in the native binary (and a lot of cpu resources
          * when building), this allows to disable both libraries.
          *
-         * @see XmlDisabled
+         * @see Flags.XmlDisabled
          */
         @ConfigItem(defaultValue = "false")
         public boolean disableXml;
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelRecorder.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelRecorder.java
index 62c5800..891cce1 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelRecorder.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/CamelRecorder.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.quarkus.core.runtime;
 
-import java.util.Properties;
-
 import io.quarkus.arc.runtime.BeanContainerListener;
 import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.ShutdownContext;
@@ -29,13 +27,10 @@ import org.apache.camel.spi.Registry;
 @Recorder
 public class CamelRecorder {
 
-    public RuntimeValue<CamelRuntime> create(
-            Registry registry,
-            Properties properties) {
+    public RuntimeValue<CamelRuntime> create(Registry registry) {
 
         FastCamelRuntime fcr = new FastCamelRuntime();
         fcr.setRegistry(registry);
-        fcr.setProperties(properties);
 
         return new RuntimeValue<>(fcr);
     }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/InitAtBuildTimeSelector.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/InitAtBuildTimeSelector.java
deleted file mode 100644
index cc64578..0000000
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/InitAtBuildTimeSelector.java
+++ /dev/null
@@ -1,28 +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.runtime;
-
-import java.util.function.BooleanSupplier;
-
-import org.eclipse.microprofile.config.ConfigProvider;
-
-public final class InitAtBuildTimeSelector implements BooleanSupplier {
-    @Override
-    public boolean getAsBoolean() {
-        return !ConfigProvider.getConfig().getOptionalValue("quarkus.camel.defer-init-phase", Boolean.class).orElse(Boolean.TRUE);
-    }
-}
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/JaxbDisabled.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/JaxbDisabled.java
deleted file mode 100644
index f0d6ea3..0000000
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/JaxbDisabled.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.core.runtime;
-
-import java.util.function.BooleanSupplier;
-
-import org.eclipse.microprofile.config.ConfigProvider;
-
-public final class JaxbDisabled implements BooleanSupplier {
-    @Override
-    public boolean getAsBoolean() {
-        return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.disable-jaxb", Boolean.class).orElse(Boolean.FALSE);
-    }
-}
-
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_ProcessorReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_ProcessorReifier.java
index 519c4aa..0135441 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_ProcessorReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_ProcessorReifier.java
@@ -23,10 +23,10 @@ import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
 import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.quarkus.core.runtime.InitAtBuildTimeSelector;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 import org.apache.camel.reifier.ProcessorReifier;
 
-@TargetClass(className = "org.apache.camel.reifier.ProcessorReifier", onlyWith = InitAtBuildTimeSelector.class)
+@TargetClass(className = "org.apache.camel.reifier.ProcessorReifier", onlyWith = Flags.InitAtBuildTime.class)
 final class Target_org_apache_camel_reifier_ProcessorReifier {
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_dataformat_DataFormatReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_dataformat_DataFormatReifier.java
index 72d5fdd..33a9b12 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_dataformat_DataFormatReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_dataformat_DataFormatReifier.java
@@ -23,10 +23,10 @@ import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
 import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.quarkus.core.runtime.InitAtBuildTimeSelector;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 import org.apache.camel.reifier.dataformat.DataFormatReifier;
 
-@TargetClass(className = "org.apache.camel.reifier.dataformat.DataFormatReifier", onlyWith = InitAtBuildTimeSelector.class)
+@TargetClass(className = "org.apache.camel.reifier.dataformat.DataFormatReifier", onlyWith = Flags.InitAtBuildTime.class)
 final class Target_org_apache_camel_reifier_dataformat_DataFormatReifier {
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_loadbalancer_LoadBalancerReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_loadbalancer_LoadBalancerReifier.java
index f763393..b67872a 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_loadbalancer_LoadBalancerReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_loadbalancer_LoadBalancerReifier.java
@@ -23,10 +23,10 @@ import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
 import org.apache.camel.model.LoadBalancerDefinition;
-import org.apache.camel.quarkus.core.runtime.InitAtBuildTimeSelector;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 import org.apache.camel.reifier.loadbalancer.LoadBalancerReifier;
 
-@TargetClass(className = "org.apache.camel.reifier.loadbalancer.LoadBalancerReifier", onlyWith = InitAtBuildTimeSelector.class)
+@TargetClass(className = "org.apache.camel.reifier.loadbalancer.LoadBalancerReifier", onlyWith = Flags.InitAtBuildTime.class)
 final class Target_org_apache_camel_reifier_loadbalancer_LoadBalancerReifier {
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_transformer_TransformerReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_transformer_TransformerReifier.java
index 3e60da6..8eb6ce7 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_transformer_TransformerReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_transformer_TransformerReifier.java
@@ -23,10 +23,10 @@ import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
 import org.apache.camel.model.transformer.TransformerDefinition;
-import org.apache.camel.quarkus.core.runtime.InitAtBuildTimeSelector;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 import org.apache.camel.reifier.transformer.TransformerReifier;
 
-@TargetClass(className = "org.apache.camel.reifier.transformer.TransformerReifier", onlyWith = InitAtBuildTimeSelector.class)
+@TargetClass(className = "org.apache.camel.reifier.transformer.TransformerReifier", onlyWith = Flags.InitAtBuildTime.class)
 final class Target_org_apache_camel_reifier_transformer_TransformerReifier {
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_validator_ValidatorReifier.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_validator_ValidatorReifier.java
index 52e5dd5..a5249ca 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_validator_ValidatorReifier.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_reifier_validator_ValidatorReifier.java
@@ -23,10 +23,10 @@ import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
 import org.apache.camel.model.validator.ValidatorDefinition;
-import org.apache.camel.quarkus.core.runtime.InitAtBuildTimeSelector;
+import org.apache.camel.quarkus.core.runtime.support.Flags;
 import org.apache.camel.reifier.validator.ValidatorReifier;
 
-@TargetClass(className = "org.apache.camel.reifier.validator.ValidatorReifier", onlyWith = InitAtBuildTimeSelector.class)
+@TargetClass(className = "org.apache.camel.reifier.validator.ValidatorReifier", onlyWith = Flags.InitAtBuildTime.class)
 final class Target_org_apache_camel_reifier_validator_ValidatorReifier {
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_support_IntrospectionSupport.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_support_IntrospectionSupport.java
index a70c741..89bf960 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_support_IntrospectionSupport.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/Target_org_apache_camel_support_IntrospectionSupport.java
@@ -21,14 +21,14 @@ import java.util.Map;
 import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.RecomputeFieldValue;
 import com.oracle.svm.core.annotate.TargetClass;
-import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.spi.BeanIntrospection;
 import org.apache.camel.support.LRUCacheFactory;
 
-@TargetClass(IntrospectionSupport.class)
+@TargetClass(className = "org.apache.camel.support.IntrospectionSupport")
 final class Target_org_apache_camel_support_IntrospectionSupport {
 
     @Alias
     @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias)
-    private static Map<Class<?>, IntrospectionSupport.ClassInfo> CACHE = LRUCacheFactory.newLRUWeakCache(256);
+    private static Map<Class<?>, BeanIntrospection.ClassInfo> CACHE = LRUCacheFactory.newLRUWeakCache(256);
 
 }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/XmlDisabled.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/XmlDisabled.java
deleted file mode 100644
index b485d71..0000000
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/graal/XmlDisabled.java
+++ /dev/null
@@ -1,28 +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.runtime.graal;
-
-import java.util.function.BooleanSupplier;
-
-import org.eclipse.microprofile.config.ConfigProvider;
-
-public final class XmlDisabled implements BooleanSupplier {
-    @Override
-    public boolean getAsBoolean() {
-        return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.disable-xml", Boolean.class).orElse(Boolean.FALSE);
-    }
-}
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelContext.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelContext.java
index 7624de1..8bc1476 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelContext.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelContext.java
@@ -17,18 +17,15 @@
 package org.apache.camel.quarkus.core.runtime.support;
 
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.ExecutorService;
-import java.util.regex.Matcher;
 
 import org.apache.camel.AsyncProcessor;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Component;
 import org.apache.camel.Endpoint;
-import org.apache.camel.NoFactoryAvailableException;
 import org.apache.camel.PollingConsumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
@@ -41,6 +38,7 @@ import org.apache.camel.impl.engine.BaseRouteService;
 import org.apache.camel.impl.engine.BeanProcessorFactoryResolver;
 import org.apache.camel.impl.engine.BeanProxyFactoryResolver;
 import org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager;
+import org.apache.camel.impl.engine.DefaultBeanIntrospection;
 import org.apache.camel.impl.engine.DefaultCamelBeanPostProcessor;
 import org.apache.camel.impl.engine.DefaultCamelContextNameStrategy;
 import org.apache.camel.impl.engine.DefaultClassResolver;
@@ -54,6 +52,7 @@ import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
 import org.apache.camel.impl.engine.DefaultProcessorFactory;
 import org.apache.camel.impl.engine.DefaultRouteController;
 import org.apache.camel.impl.engine.DefaultStreamCachingStrategy;
+import org.apache.camel.impl.engine.DefaultTracer;
 import org.apache.camel.impl.engine.DefaultTransformerRegistry;
 import org.apache.camel.impl.engine.DefaultUnitOfWorkFactory;
 import org.apache.camel.impl.engine.DefaultValidatorRegistry;
@@ -68,6 +67,7 @@ import org.apache.camel.processor.MulticastProcessor;
 import org.apache.camel.quarkus.core.runtime.CamelRuntime;
 import org.apache.camel.quarkus.core.runtime.support.FastModel.FastRouteContext;
 import org.apache.camel.spi.AsyncProcessorAwaitManager;
+import org.apache.camel.spi.BeanIntrospection;
 import org.apache.camel.spi.BeanProcessorFactory;
 import org.apache.camel.spi.BeanProxyFactory;
 import org.apache.camel.spi.CamelBeanPostProcessor;
@@ -78,7 +78,6 @@ import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatResolver;
 import org.apache.camel.spi.EndpointRegistry;
 import org.apache.camel.spi.ExecutorServiceManager;
-import org.apache.camel.spi.FactoryFinder;
 import org.apache.camel.spi.FactoryFinderResolver;
 import org.apache.camel.spi.HeadersMapFactory;
 import org.apache.camel.spi.InflightRepository;
@@ -97,16 +96,18 @@ import org.apache.camel.spi.RestRegistryFactory;
 import org.apache.camel.spi.RouteController;
 import org.apache.camel.spi.ShutdownStrategy;
 import org.apache.camel.spi.StreamCachingStrategy;
+import org.apache.camel.spi.Tracer;
 import org.apache.camel.spi.TransformerRegistry;
 import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.util.FilePathResolver;
-import org.apache.camel.util.StringHelper;
 import org.apache.camel.support.PropertyBindingSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class FastCamelContext extends AbstractCamelContext {
+    private static final Logger LOG = LoggerFactory.getLogger(FastCamelContext.class);
 
     private Object model;
 
@@ -201,13 +202,7 @@ public class FastCamelContext extends AbstractCamelContext {
 
     @Override
     protected Injector createInjector() {
-        FactoryFinder finder = getDefaultFactoryFinder();
-        try {
-            return (Injector) finder.newInstance("Injector");
-        } catch (NoFactoryAvailableException e) {
-            // lets use the default injector
-            return new DefaultInjector(this);
-        }
+        return getDefaultFactoryFinder().newInstance("Injector", Injector.class).orElseGet(() -> new DefaultInjector(this));
     }
 
     @Override
@@ -305,6 +300,33 @@ public class FastCamelContext extends AbstractCamelContext {
     }
 
     @Override
+    protected BeanIntrospection createBeanIntrospection() {
+        return new DefaultBeanIntrospection();
+    }
+
+    @Override
+    protected Tracer createTracer() {
+        Tracer tracer = null;
+        if (getRegistry() != null) {
+            Map<String, Tracer> map = this.getRegistry().findByTypeWithName(Tracer.class);
+            if (map.size() == 1) {
+                tracer = map.values().iterator().next();
+            }
+        }
+
+        if (tracer == null) {
+            tracer = getExtension(Tracer.class);
+        }
+
+        if (tracer == null) {
+            tracer = new DefaultTracer();
+            setExtension(Tracer.class, tracer);
+        }
+
+        return tracer;
+    }
+
+    @Override
     protected RestRegistryFactory createRestRegistryFactory() {
         return new RestRegistryFactoryResolver().resolve(this);
     }
@@ -316,29 +338,7 @@ public class FastCamelContext extends AbstractCamelContext {
 
     @Override
     protected StreamCachingStrategy createStreamCachingStrategy() {
-        return new DefaultStreamCachingStrategy() {
-            // TODO: this has been fixed on camel master by Claus with commit
-            //       https://github.com/apache/camel/commit/087b5a7db18c8070e37b119cb9db0513e3dd0865
-            //       we should remove this overloaded method once migration to Camel 3.0.0-M5 is
-            @Override
-            protected String resolveSpoolDirectory(String path) {
-                StringHelper.notEmpty(path, "path");
-
-                // must quote the names to have it work as literal replacement
-                String name = Matcher.quoteReplacement(getName());
-
-                // replace tokens
-                String answer = path;
-                answer = answer.replaceFirst("#camelId#", name);
-                answer = answer.replaceFirst("#name#", name);
-
-                if (answer.contains("#uuid#")) {
-                    answer = answer.replaceFirst("#uuid#", getUuidGenerator().generateUuid());
-                }
-
-                return FilePathResolver.resolvePath(answer);
-            }
-        };
+        return new DefaultStreamCachingStrategy();
     }
 
     @Override
@@ -364,17 +364,20 @@ public class FastCamelContext extends AbstractCamelContext {
 
     @SuppressWarnings("unchecked")
     protected <T> T resolve(Class<T> clazz, String type, String name, CamelContext context) {
-        T result = context.getRegistry().lookupByNameAndType(name, clazz);
+        final T result = context.getRegistry().lookupByNameAndType(name, clazz);
+        final String prefix = CamelRuntime.PFX_CAMEL + type + "." + name + ".";
+        final Properties props = getPropertiesComponent().loadProperties(k -> k.startsWith(prefix));
 
         CamelContextAware.trySetCamelContext(result, context);
 
-        Properties props = getPropertiesComponent().loadProperties();
-        if (props != null && !props.isEmpty()) {
-            PropertyBindingSupport.bindProperties(
-                this,
-                result,
-                new HashMap<>((Map) props),
-                CamelRuntime.PFX_CAMEL + type + "." + name + ".");
+        if (!props.isEmpty()) {
+            PropertyBindingSupport.build()
+                .withCamelContext(context)
+                .withOptionPrefix(prefix)
+                .withRemoveParameters(false)
+                .withProperties((Map) props)
+                .withTarget(result)
+                .bind();
         }
 
         return result;
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelRuntime.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelRuntime.java
index 3b45817..232c428 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelRuntime.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/FastCamelRuntime.java
@@ -18,21 +18,21 @@ package org.apache.camel.quarkus.core.runtime.support;
 
 import java.io.InputStream;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.stream.Collectors;
 
 import io.quarkus.arc.Arc;
+import io.quarkus.runtime.RuntimeValue;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Route;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.component.microprofile.config.CamelMicroProfilePropertiesSource;
 import org.apache.camel.component.properties.PropertiesComponent;
 import org.apache.camel.model.Model;
-import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.quarkus.core.runtime.CamelConfig.BuildTime;
 import org.apache.camel.quarkus.core.runtime.CamelConfig.Runtime;
 import org.apache.camel.quarkus.core.runtime.CamelRuntime;
@@ -55,7 +55,6 @@ public class FastCamelRuntime implements CamelRuntime {
 
     protected CamelContext context;
     protected Registry registry;
-    protected Properties properties;
     protected List<RoutesBuilder> builders = new ArrayList<>();
     protected BuildTime buildTimeConfig;
     protected Runtime runtimeConfig;
@@ -80,19 +79,13 @@ public class FastCamelRuntime implements CamelRuntime {
     @SuppressWarnings("unchecked")
     public void doInit() {
         try {
-            this.context = createContext();
-
-            if (properties != null) {
-                PropertyBindingSupport.bindProperties(context, context, new HashMap<>((Map)properties), PFX_CAMEL_CONTEXT);
-            }
-
+            context = createContext();
             context.setLoadTypeConverters(false);
-            context.addComponent("properties", createPropertiesComponent(properties));
+            context.getTypeConverterRegistry().setInjector(context.getInjector());
 
-            this.context.getTypeConverterRegistry().setInjector(this.context.getInjector());
             fireEvent(InitializingEvent.class, new InitializingEvent());
             if (buildTimeConfig.disableJaxb) {
-                this.context.adapt(ExtendedCamelContext.class).setModelJAXBContextFactory(() -> {
+                context.adapt(ExtendedCamelContext.class).setModelJAXBContextFactory(() -> {
                     throw new UnsupportedOperationException();
                 });
             } else {
@@ -103,7 +96,8 @@ public class FastCamelRuntime implements CamelRuntime {
                     context.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory().newJAXBContext();
                 }
             }
-            this.context.init();
+
+            context.init();
 
             /* Create the model before firing InitializedEvent so that the listeners can add routes */
             FastModel model = new FastModel(context);
@@ -152,6 +146,7 @@ public class FastCamelRuntime implements CamelRuntime {
         final List<String> routesUris = buildTimeConfig.routesUris.stream()
                 .filter(ObjectHelper::isNotEmpty)
                 .collect(Collectors.toList());
+
         if (ObjectHelper.isNotEmpty(routesUris)) {
             LOG.debug("Loading xml routes from {}", routesUris);
             for (String routesUri : routesUris) {
@@ -170,9 +165,24 @@ public class FastCamelRuntime implements CamelRuntime {
         // builders.clear();
     }
 
+    @SuppressWarnings("unchecked")
     protected CamelContext createContext() {
+        PropertiesComponent pc = new PropertiesComponent();
+        pc.setAutoDiscoverPropertiesSources(false);
+        pc.addPropertiesSource(new CamelMicroProfilePropertiesSource());
+
         FastCamelContext context = new FastCamelContext();
         context.setRegistry(registry);
+        context.addComponent("properties", pc);
+
+        PropertyBindingSupport.build()
+            .withCamelContext(context)
+            .withOptionPrefix(PFX_CAMEL_CONTEXT)
+            .withRemoveParameters(false)
+            .withProperties((Map)pc.loadProperties(k -> k.startsWith(PFX_CAMEL_CONTEXT)))
+            .withTarget(context)
+            .bind();
+
         return context;
     }
 
@@ -185,23 +195,37 @@ public class FastCamelRuntime implements CamelRuntime {
     }
 
     public void setProperties(Properties properties) {
-        this.properties = properties;
+        context.getComponent("properties", PropertiesComponent.class).setInitialProperties(properties);
     }
 
     @Override
     public void addProperties(Properties properties) {
-        this.properties.putAll(properties);
+        context.getComponent("properties", PropertiesComponent.class).getInitialProperties().putAll(properties);
     }
 
     @Override
     public void addProperty(String key, Object value) {
-        this.properties.put(key, value);
+        context.getComponent("properties", PropertiesComponent.class).getInitialProperties().put(key, value);
     }
 
     public List<RoutesBuilder> getBuilders() {
         return builders;
     }
 
+    @SafeVarargs
+    public final void addBuilders(RoutesBuilder... builders) {
+        for (RoutesBuilder builder: builders) {
+            this.builders.add(builder);
+        }
+    }
+
+    @SafeVarargs
+    public final void addBuilders(RuntimeValue<RoutesBuilder>... builders) {
+        for (RuntimeValue<RoutesBuilder> builder: builders) {
+            this.builders.add(builder.getValue());
+        }
+    }
+
     public CamelContext getContext() {
         return context;
     }
@@ -221,18 +245,6 @@ public class FastCamelRuntime implements CamelRuntime {
         return runtimeConfig;
     }
 
-    @SuppressWarnings("unchecked")
-    protected PropertiesComponent createPropertiesComponent(Properties initialProperties) {
-        PropertiesComponent pc = new PropertiesComponent();
-        pc.setInitialProperties(initialProperties);
-
-        if (initialProperties != null) {
-            PropertyBindingSupport.bindProperties(context, pc, new HashMap<>((Map)initialProperties), PFX_CAMEL_PROPERTIES);
-        }
-
-        return pc;
-    }
-
     protected void dumpRoutes() {
         List<Route> routes = getContext().getRoutes();
         if (routes.isEmpty()) {
@@ -240,8 +252,7 @@ public class FastCamelRuntime implements CamelRuntime {
         } else {
             LOG.info("Route definitions:");
             for (Route route : routes) {
-                RouteDefinition def = (RouteDefinition) route.getRouteContext().getRoute();
-                LOG.info(def.toString());
+                LOG.info(route.getRouteContext().getRoute().toString());
             }
         }
     }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/Flags.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/Flags.java
new file mode 100644
index 0000000..8b34611
--- /dev/null
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/Flags.java
@@ -0,0 +1,47 @@
+/*
+ * 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.runtime.support;
+
+import java.util.function.BooleanSupplier;
+
+import org.eclipse.microprofile.config.ConfigProvider;
+
+public final class Flags {
+    private Flags() {
+    }
+
+    public static final class JaxbDisabled implements BooleanSupplier {
+        @Override
+        public boolean getAsBoolean() {
+            return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.disable-jaxb", Boolean.class).orElse(Boolean.FALSE);
+        }
+    }
+
+    public static final class XmlDisabled implements BooleanSupplier {
+        @Override
+        public boolean getAsBoolean() {
+            return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.disable-xml", Boolean.class).orElse(Boolean.FALSE);
+        }
+    }
+
+    public static final class InitAtBuildTime implements BooleanSupplier {
+        @Override
+        public boolean getAsBoolean() {
+            return !ConfigProvider.getConfig().getOptionalValue("quarkus.camel.defer-init-phase", Boolean.class).orElse(Boolean.TRUE);
+        }
+    }
+}
diff --git a/extensions/netty4-http/deployment/pom.xml b/extensions/netty-http/deployment/pom.xml
similarity index 92%
rename from extensions/netty4-http/deployment/pom.xml
rename to extensions/netty-http/deployment/pom.xml
index 57346e7..6ecc7e2 100644
--- a/extensions/netty4-http/deployment/pom.xml
+++ b/extensions/netty-http/deployment/pom.xml
@@ -20,13 +20,13 @@
 <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">
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-netty4-http-parent</artifactId>
+        <artifactId>camel-quarkus-netty-http-parent</artifactId>
         <version>0.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-netty4-http-deployment</artifactId>
-    <name>Camel Quarkus :: Netty 4 HTTP :: Deployment</name>
+    <artifactId>camel-quarkus-netty-http-deployment</artifactId>
+    <name>Camel Quarkus :: Netty HTTP :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
@@ -55,7 +55,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-netty4-http</artifactId>
+            <artifactId>camel-quarkus-netty-http</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/netty4-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty4/http/deployment/Netty4HTTPProcessor.java b/extensions/netty-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty/http/deployment/NettyHTTPProcessor.java
similarity index 91%
rename from extensions/netty4-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty4/http/deployment/Netty4HTTPProcessor.java
rename to extensions/netty-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty/http/deployment/NettyHTTPProcessor.java
index 77fa7e5..034ef8e 100644
--- a/extensions/netty4-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty4/http/deployment/Netty4HTTPProcessor.java
+++ b/extensions/netty-http/deployment/src/main/java/org/apache/camel/quarkus/component/netty/http/deployment/NettyHTTPProcessor.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http.deployment;
+package org.apache.camel.quarkus.component.netty.http.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 
-class Netty4HTTPProcessor {
+class NettyHTTPProcessor {
 
     private static final String FEATURE = "camel-netty-http4";
 
diff --git a/extensions/netty4-http/pom.xml b/extensions/netty-http/pom.xml
similarity index 93%
rename from extensions/netty4-http/pom.xml
rename to extensions/netty-http/pom.xml
index 32b5080..0501800 100644
--- a/extensions/netty4-http/pom.xml
+++ b/extensions/netty-http/pom.xml
@@ -28,8 +28,8 @@
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-netty4-http-parent</artifactId>
-    <name>Camel Quarkus :: Netty 4 HTTP</name>
+    <artifactId>camel-quarkus-netty-http-parent</artifactId>
+    <name>Camel Quarkus :: Netty HTTP</name>
     <packaging>pom</packaging>
     <modules>
         <module>deployment</module>
diff --git a/extensions/netty4-http/runtime/pom.xml b/extensions/netty-http/runtime/pom.xml
similarity index 93%
rename from extensions/netty4-http/runtime/pom.xml
rename to extensions/netty-http/runtime/pom.xml
index 73873ee..f0bf667 100644
--- a/extensions/netty4-http/runtime/pom.xml
+++ b/extensions/netty-http/runtime/pom.xml
@@ -20,13 +20,13 @@
 <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">
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-netty4-http-parent</artifactId>
+        <artifactId>camel-quarkus-netty-http-parent</artifactId>
         <version>0.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-netty4-http</artifactId>
-    <name>Camel Quarkus :: Netty 4 HTTP :: Runtime</name>
+    <artifactId>camel-quarkus-netty-http</artifactId>
+    <name>Camel Quarkus :: Netty HTTP :: Runtime</name>
 
     <dependencyManagement>
         <dependencies>
@@ -59,7 +59,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-netty4-http</artifactId>
+            <artifactId>camel-netty-http</artifactId>
             <exclusions>
                 <exclusion><!-- See https://github.com/apache/camel-quarkus/issues/80 -->
                     <groupId>org.apache.camel</groupId>
diff --git a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBootstrapConfiguration.java b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBootstrapConfiguration.java
similarity index 79%
rename from extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBootstrapConfiguration.java
rename to extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBootstrapConfiguration.java
index 00e8e48..e7a2980 100644
--- a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBootstrapConfiguration.java
+++ b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBootstrapConfiguration.java
@@ -14,17 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http.runtime;
+package org.apache.camel.quarkus.component.netty.http.runtime;
 
 import com.oracle.svm.core.annotate.Substitute;
 import com.oracle.svm.core.annotate.TargetClass;
 
-@TargetClass(className = "org.apache.camel.component.netty4.NettyServerBootstrapConfiguration")
-final class Target_org_apache_camel_component_netty4_NettyServerBootstrapConfiguration {
-
+@TargetClass(className = "org.apache.camel.component.netty.NettyServerBootstrapConfiguration")
+final class Target_org_apache_camel_component_netty_NettyServerBootstrapConfiguration {
     @Substitute
     public boolean isNativeTransport() {
         return false;
     }
-
 }
diff --git a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBossPoolBuilder.java b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBossPoolBuilder.java
similarity index 86%
rename from extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBossPoolBuilder.java
rename to extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBossPoolBuilder.java
index 71be29d..311e297 100644
--- a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyServerBossPoolBuilder.java
+++ b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyServerBossPoolBuilder.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http.runtime;
+package org.apache.camel.quarkus.component.netty.http.runtime;
 
 import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.Substitute;
@@ -23,8 +23,8 @@ import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import org.apache.camel.util.concurrent.CamelThreadFactory;
 
-@TargetClass(className = "org.apache.camel.component.netty4.NettyServerBossPoolBuilder")
-final class Target_org_apache_camel_component_netty4_NettyServerBossPoolBuilder {
+@TargetClass(className = "org.apache.camel.component.netty.NettyServerBossPoolBuilder")
+final class Target_org_apache_camel_component_netty_NettyServerBossPoolBuilder {
 
     @Alias
     private String name = "NettyServerBoss";
@@ -41,6 +41,5 @@ final class Target_org_apache_camel_component_netty4_NettyServerBossPoolBuilder
     @Substitute
     public EventLoopGroup build() {
         return new NioEventLoopGroup(bossCount, new CamelThreadFactory(pattern, name, false));
-
     }
 }
diff --git a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyWorkerPoolBuilder.java b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyWorkerPoolBuilder.java
similarity index 84%
rename from extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyWorkerPoolBuilder.java
rename to extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyWorkerPoolBuilder.java
index 616de31..1eb3fe6 100644
--- a/extensions/netty4-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty4/http/runtime/Target_org_apache_camel_component_netty4_NettyWorkerPoolBuilder.java
+++ b/extensions/netty-http/runtime/src/main/java/org/apache/camel/quarkus/component/netty/http/runtime/Target_org_apache_camel_component_netty_NettyWorkerPoolBuilder.java
@@ -14,18 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http.runtime;
+package org.apache.camel.quarkus.component.netty.http.runtime;
 
 import com.oracle.svm.core.annotate.Alias;
 import com.oracle.svm.core.annotate.Substitute;
 import com.oracle.svm.core.annotate.TargetClass;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
-import org.apache.camel.component.netty4.NettyHelper;
+import org.apache.camel.component.netty.NettyHelper;
 import org.apache.camel.util.concurrent.CamelThreadFactory;
 
-@TargetClass(className = "org.apache.camel.component.netty4.NettyWorkerPoolBuilder")
-final class Target_org_apache_camel_component_netty4_NettyWorkerPoolBuilder {
+@TargetClass(className = "org.apache.camel.component.netty.NettyWorkerPoolBuilder")
+final class Target_org_apache_camel_component_netty_NettyWorkerPoolBuilder {
 
     @Alias
     private String name = "NettyWorker";
diff --git a/extensions/pom.xml b/extensions/pom.xml
index f0f802c..862068e 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -41,7 +41,7 @@
         <module>http-common</module>
 
         <!-- components -->
-        <module>netty4-http</module>
+        <module>netty-http</module>
         <module>infinispan</module>
         <module>aws-s3</module>
         <module>aws-sns</module>
diff --git a/extensions/salesforce/runtime/pom.xml b/extensions/salesforce/runtime/pom.xml
index 8a8c710..06b0ccd 100644
--- a/extensions/salesforce/runtime/pom.xml
+++ b/extensions/salesforce/runtime/pom.xml
@@ -56,12 +56,6 @@
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-salesforce</artifactId>
-            <exclusions>
-                <exclusion><!-- See https://github.com/apache/camel-quarkus/issues/80 -->
-                    <groupId>org.apache.camel</groupId>
-                    <artifactId>camel-caffeine-lrucache</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
     </dependencies>
 
diff --git a/integration-tests/core-cdi/src/main/java/org/apache/camel/quarkus/component/core/cdi/CamelServlet.java b/integration-tests/core-cdi/src/main/java/org/apache/camel/quarkus/component/core/cdi/CamelServlet.java
index 937f29a..0dda99e 100644
--- a/integration-tests/core-cdi/src/main/java/org/apache/camel/quarkus/component/core/cdi/CamelServlet.java
+++ b/integration-tests/core-cdi/src/main/java/org/apache/camel/quarkus/component/core/cdi/CamelServlet.java
@@ -46,10 +46,7 @@ public class CamelServlet {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public String getProperty(@PathParam("name") String name) throws Exception {
-        String prefix = runtime.getContext().getPropertyPrefixToken();
-        String suffix = runtime.getContext().getPropertySuffixToken();
-
-        return runtime.getContext().resolvePropertyPlaceholders(prefix + name + suffix);
+        return runtime.getContext().resolvePropertyPlaceholders("{{" + name + "}}");
     }
 
     @Path("/hello/{name}")
diff --git a/integration-tests/core/test/src/main/java/org/apache/camel/quarkus/core/CamelServlet.java b/integration-tests/core/test/src/main/java/org/apache/camel/quarkus/core/CamelServlet.java
index 2e3728a..a2b4ba2 100644
--- a/integration-tests/core/test/src/main/java/org/apache/camel/quarkus/core/CamelServlet.java
+++ b/integration-tests/core/test/src/main/java/org/apache/camel/quarkus/core/CamelServlet.java
@@ -53,17 +53,14 @@ public class CamelServlet {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public String getProperty(@PathParam("name") String name) throws Exception {
-        String prefix = runtime.getContext().getPropertyPrefixToken();
-        String suffix = runtime.getContext().getPropertySuffixToken();
-
-        return runtime.getContext().resolvePropertyPlaceholders(prefix + name + suffix);
+        return runtime.getContext().resolvePropertyPlaceholders("{{" + name + "}}");
     }
 
-    @Path("/timer/resolve-property-placeholders")
+    @Path("/timer/property-binding")
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public boolean timerResolvePropertyPlaceholders() throws Exception {
-        return runtime.getContext().getComponent("timer", TimerComponent.class).isResolvePropertyPlaceholders();
+        return runtime.getContext().getComponent("timer", TimerComponent.class).isBasicPropertyBinding();
     }
 
 
diff --git a/integration-tests/core/test/src/main/resources/application.properties b/integration-tests/core/test/src/main/resources/application.properties
index 5f09557..83b6cc3 100644
--- a/integration-tests/core/test/src/main/resources/application.properties
+++ b/integration-tests/core/test/src/main/resources/application.properties
@@ -33,7 +33,8 @@ quarkus.camel.defer-init-phase=true
 camel.context.name=quarkus-camel-example
 
 # Timer
-camel.component.timer.resolve-property-placeholders = false
+camel.component.timer.basic-property-binding = true
+
 #
 # Integration
 #
diff --git a/integration-tests/core/test/src/test/java/org/apache/camel/quarkus/core/CamelTest.java b/integration-tests/core/test/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
index 4c6673d..45d3324 100644
--- a/integration-tests/core/test/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
+++ b/integration-tests/core/test/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
@@ -39,12 +39,12 @@ public class CamelTest {
     @Test
     public void testProperties() {
         RestAssured.when().get("/test/property/camel.context.name").then().body(is("quarkus-camel-example"));
+        RestAssured.when().get("/test/property/camel.component.timer.basic-property-binding").then().body(is("true"));
     }
 
     @Test
     public void timerPropertyPropagated() {
-        RestAssured.when().get("/test/property/camel.component.timer.resolve-property-placeholders").then().body(is("false"));
-        RestAssured.when().get("/test/timer/resolve-property-placeholders").then().body(is("false"));
+        RestAssured.when().get("/test/timer/property-binding").then().body(is("true"));
     }
 
     @Test
diff --git a/integration-tests/infinispan/pom.xml b/integration-tests/infinispan/pom.xml
index 62d3ae9..0953651 100644
--- a/integration-tests/infinispan/pom.xml
+++ b/integration-tests/infinispan/pom.xml
@@ -40,7 +40,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-netty4-http</artifactId>
+            <artifactId>camel-quarkus-netty-http</artifactId>
         </dependency>
 
         <!-- Undertow is here only for the test runner to be able to detect that the server has started -->
@@ -100,7 +100,7 @@
             <id>native-image</id>
             <activation>
                 <property>
-                    <name>native-off</name><!-- See https://github.com/apache/camel-quarkus/issues/80 -->
+                    <name>native</name>
                 </property>
             </activation>
             <build>
diff --git a/integration-tests/infinispan/src/main/java/org/apache/camel/quarkus/component/infinispan/CamelRoute.java b/integration-tests/infinispan/src/main/java/org/apache/camel/quarkus/component/infinispan/CamelRoute.java
index 1507808..aa2af07 100644
--- a/integration-tests/infinispan/src/main/java/org/apache/camel/quarkus/component/infinispan/CamelRoute.java
+++ b/integration-tests/infinispan/src/main/java/org/apache/camel/quarkus/component/infinispan/CamelRoute.java
@@ -27,7 +27,7 @@ public class CamelRoute extends RouteBuilder {
     @Override
     public void configure() {
 
-        from("netty4-http:http://0.0.0.0:8999/put")
+        from("netty-http:http://0.0.0.0:8999/put")
                 .convertBodyTo(byte[].class)
                 .to("log:cache?showAll=true")
                 .setHeader(InfinispanConstants.OPERATION).constant(InfinispanOperation.PUT)
@@ -35,7 +35,7 @@ public class CamelRoute extends RouteBuilder {
                 .setHeader(InfinispanConstants.VALUE).body()
                 .to("infinispan:default?hosts=localhost:11232");
 
-        from("netty4-http:http://0.0.0.0:8999/get")
+        from("netty-http:http://0.0.0.0:8999/get")
                 .setHeader(InfinispanConstants.OPERATION)
                 .constant(InfinispanOperation.GET)
                 .setHeader(InfinispanConstants.KEY)
diff --git a/integration-tests/infinispan/src/test/java/org/apache/camel/quarkus/component/infinispan/CamelInfinispanITCase.java b/integration-tests/infinispan/src/test/java/org/apache/camel/quarkus/component/infinispan/CamelInfinispanITCase.java
index 789da1f..5718406 100644
--- a/integration-tests/infinispan/src/test/java/org/apache/camel/quarkus/component/infinispan/CamelInfinispanITCase.java
+++ b/integration-tests/infinispan/src/test/java/org/apache/camel/quarkus/component/infinispan/CamelInfinispanITCase.java
@@ -17,13 +17,7 @@
 package org.apache.camel.quarkus.component.infinispan;
 
 import io.quarkus.test.junit.SubstrateTest;
-import org.junit.jupiter.api.Disabled;
 
-/**
- * If CamelSimpleLRUCacheFactory=true, infinispan fails.
- * It needs to be investigated on camel side.
- */
-@Disabled("https://github.com/apache/camel-quarkus/issues/80")
 @SubstrateTest
 public class CamelInfinispanITCase extends CamelInfinispanTest {
 }
diff --git a/integration-tests/netty4-http/pom.xml b/integration-tests/netty-http/pom.xml
similarity index 96%
rename from integration-tests/netty4-http/pom.xml
rename to integration-tests/netty-http/pom.xml
index f3becdd..903f79c 100644
--- a/integration-tests/netty4-http/pom.xml
+++ b/integration-tests/netty-http/pom.xml
@@ -25,8 +25,8 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-integration-test-netty4-http</artifactId>
-    <name>Camel Quarkus :: Integration Tests :: Netty4 Http</name>
+    <artifactId>camel-quarkus-integration-test-netty-http</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Netty Http</name>
     <description>The camel integration tests</description>
 
     <dependencies>
@@ -36,7 +36,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-netty4-http</artifactId>
+            <artifactId>camel-quarkus-netty-http</artifactId>
         </dependency>
 
         <!-- Undertow is here only for the test runner to be able to detect that the server has started -->
diff --git a/integration-tests/netty4-http/src/main/java/org/apache/camel/quarkus/component/netty4/http/CamelRoute.java b/integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/CamelRoute.java
similarity index 90%
rename from integration-tests/netty4-http/src/main/java/org/apache/camel/quarkus/component/netty4/http/CamelRoute.java
rename to integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/CamelRoute.java
index 78f2d96..2e9a08a 100644
--- a/integration-tests/netty4-http/src/main/java/org/apache/camel/quarkus/component/netty4/http/CamelRoute.java
+++ b/integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/CamelRoute.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http;
+package org.apache.camel.quarkus.component.netty.http;
 
 import org.apache.camel.builder.RouteBuilder;
 
 public class CamelRoute extends RouteBuilder {
     @Override
     public void configure() {
-        from("netty4-http:http://0.0.0.0:8999/foo")
+        from("netty-http:http://0.0.0.0:8999/foo")
             .transform().constant("Netty Hello World");
 
     }
diff --git a/integration-tests/netty4-http/src/main/resources/application.properties b/integration-tests/netty-http/src/main/resources/application.properties
similarity index 100%
rename from integration-tests/netty4-http/src/main/resources/application.properties
rename to integration-tests/netty-http/src/main/resources/application.properties
diff --git a/integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelIT.java b/integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelIT.java
similarity index 94%
rename from integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelIT.java
rename to integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelIT.java
index 5798bfb..3580d21 100644
--- a/integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelIT.java
+++ b/integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelIT.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http;
+package org.apache.camel.quarkus.component.netty.http;
 
 import io.quarkus.test.junit.SubstrateTest;
 
diff --git a/integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelTest.java b/integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelTest.java
similarity index 95%
rename from integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelTest.java
rename to integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelTest.java
index 439c407..3a6bf92 100644
--- a/integration-tests/netty4-http/src/test/java/org/apache/camel/quarkus/component/netty4/http/CamelTest.java
+++ b/integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/CamelTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.component.netty4.http;
+package org.apache.camel.quarkus.component.netty.http;
 
 import java.net.URI;
 
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index b6c29f6..bb055d2 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -61,7 +61,7 @@
         <module>core-impl</module>
         <module>core-cdi</module>
 
-        <module>netty4-http</module>
+        <module>netty-http</module>
         <module>aws</module>
         <module>bean</module>
         <module>csv</module>
diff --git a/integration-tests/servlet/pom.xml b/integration-tests/servlet/pom.xml
index d1005e5..5ab7d42 100644
--- a/integration-tests/servlet/pom.xml
+++ b/integration-tests/servlet/pom.xml
@@ -51,6 +51,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rest</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-cloud</artifactId>
+        </dependency>
 
 
         <!-- test dependencies -->
diff --git a/pom.xml b/pom.xml
index afd8bce..7d7ab48 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-        <camel.version>3.0.0-M4</camel.version>
+        <camel.version>3.0.0-RC1</camel.version>
         <quarkus.version>0.21.1</quarkus.version>
         <jetty.version>9.4.18.v20190429</jetty.version>
         <xstream.version>1.4.11</xstream.version>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 5aa405d..9b25723 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -147,7 +147,12 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-netty4-http</artifactId>
+                <artifactId>camel-microprofile-config</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-netty-http</artifactId>
                 <version>${camel.version}</version>
             </dependency>
             <dependency>
@@ -271,7 +276,7 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-netty4-http</artifactId>
+                <artifactId>camel-quarkus-netty-http</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
             <dependency>