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/11/06 12:33:56 UTC

[camel-k-runtime] branch master updated: update to quarkus 0.3.1

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-k-runtime.git


The following commit(s) were added to refs/heads/master by this push:
     new 4f6f1da  update to quarkus 0.3.1
4f6f1da is described below

commit 4f6f1da0c1e40ef181ece545a1b71e8de9d65639
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Oct 30 21:14:03 2019 +0100

    update to quarkus 0.3.1
---
 .../k/loader/groovy/dsl/IntegrationTest.groovy     |   2 +-
 .../camel/k/loader/js/dsl/IntegrationTest.java     |   2 +-
 .../camel/k/loader/kotlin/dsl/IntegrationTest.kt   |  12 +--
 .../quarkus/deployment/DeploymentProcessor.java    |  14 +--
 .../k/core/quarkus/deployment/ExtensionIT.java     |   4 +-
 .../camel-k-quarkus-core/runtime/pom.xml           |  18 ++++
 .../k/core/quarkus/RuntimeListenerAdapter.java     | 120 ++++++---------------
 .../camel/k/core/quarkus/RuntimeRecorder.java      |  11 ++
 .../knative/deployment/DeploymentProcessor.java    |  30 +++++-
 .../camel-k-quarkus-knative/runtime/pom.xml        |  25 ++---
 .../camel/k/quarkus/knative/KnativeRecorder.java}  |  17 ++-
 .../js/quarkus/deployment/DeploymentProcessor.java |   2 +-
 .../loader/js/quarkus/deployment/ExtensionIT.java  |   4 +-
 .../camel-k-quarkus-loader-js/runtime/pom.xml      |  14 +--
 .../camel-k-quarkus-loader-knative/runtime/pom.xml |  12 +--
 .../loader/xml/quarkus/deployment/ExtensionIT.java |   4 +-
 .../camel-k-quarkus-loader-xml/runtime/pom.xml     |  12 +--
 .../quarkus/deployment/DeploymentProcessor.java    |   2 +-
 .../yaml/quarkus/deployment/ExtensionIT.java       |   4 +-
 .../camel-k-quarkus-loader-yaml/runtime/pom.xml    |  12 +--
 .../k/quarkus/deployment/DeploymentProcessor.java  |   2 +-
 .../src/main/java/org/apache/camel/k/Runtime.java  |   4 +-
 .../camel/k/health/HealthCustomizerTest.java       |   2 +-
 .../camel/k/servlet/ServletCustomizerTest.java     |   2 +-
 .../servlet/ServletRegistrationCustomizerTest.java |   2 +-
 .../knative/http/KnativeHttpConsumer.java          |   4 +
 .../camel/component/knative/KnativeComponent.java  |  10 +-
 .../data/application.properties                    |  27 +++++
 .../data/routes.js                                 |  16 +++
 .../src/main/resources/application.properties      |  10 +-
 .../data/application.properties                    |  21 +++-
 .../pom.xml                                        |   7 --
 .../src/main/resources/application.properties      |  16 +--
 .../data/application.properties                    |  26 +++++
 .../src/main/resources/application.properties      |   7 --
 pom.xml                                            |  27 +----
 36 files changed, 255 insertions(+), 249 deletions(-)

diff --git a/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/dsl/IntegrationTest.groovy b/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/dsl/IntegrationTest.groovy
index 2bd60ad..11da9a7 100644
--- a/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/dsl/IntegrationTest.groovy
+++ b/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/dsl/IntegrationTest.groovy
@@ -45,7 +45,7 @@ class IntegrationTest extends Specification {
 
     def setup() {
         this.context = new DefaultCamelContext()
-        this.runtime = Runtime.of(context)
+        this.runtime = Runtime.on(context)
     }
 
 
diff --git a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java
index 156f0af..7365a98 100644
--- a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java
+++ b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/dsl/IntegrationTest.java
@@ -44,7 +44,7 @@ public class IntegrationTest {
     @BeforeEach
     public void setUp() {
         this.context = new DefaultCamelContext();
-        this.runtime = Runtime.of(context);
+        this.runtime = Runtime.on(context);
     }
 
     @AfterEach
diff --git a/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/dsl/IntegrationTest.kt b/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/dsl/IntegrationTest.kt
index 66702db..1115ea6 100644
--- a/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/dsl/IntegrationTest.kt
+++ b/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/dsl/IntegrationTest.kt
@@ -38,7 +38,7 @@ class IntegrationTest {
     @Test
     fun `load integration with rest`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-rest.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
@@ -74,7 +74,7 @@ class IntegrationTest {
     @Test
     fun `load integration with beans`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-beans.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
@@ -89,7 +89,7 @@ class IntegrationTest {
     @Test
     fun `load integration with components configuration`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-components-configuration.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
@@ -107,7 +107,7 @@ class IntegrationTest {
     @Test
     fun `load integration with languages configuration`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-languages-configuration.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
@@ -123,7 +123,7 @@ class IntegrationTest {
     @Test
     fun `load integration with dataformats configuration`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-dataformats-configuration.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
@@ -139,7 +139,7 @@ class IntegrationTest {
     @Test
     fun `load integration with error handler`() {
         val context = DefaultCamelContext()
-        val runtime = Runtime.of(context)
+        val runtime = Runtime.on(context)
 
         forRoutes("classpath:routes-with-error-handler.kts").accept(Runtime.Phase.ConfigureRoutes, runtime)
 
diff --git a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
index 127fed1..313aea5 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
@@ -25,10 +25,9 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
-import io.quarkus.deployment.builditem.substrate.ServiceProviderBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
 import org.apache.camel.k.Runtime;
-import org.apache.camel.k.core.quarkus.RuntimeListenerAdapter;
 import org.apache.camel.k.core.quarkus.RuntimeRecorder;
 import org.apache.camel.quarkus.core.deployment.CamelMainListenerBuildItem;
 import org.apache.camel.spi.HasId;
@@ -96,7 +95,7 @@ public class DeploymentProcessor {
         );
     }
 
-    @Record(ExecutionTime.RUNTIME_INIT)
+    @Record(ExecutionTime.STATIC_INIT)
     @BuildStep
     CamelMainListenerBuildItem registerListener(RuntimeRecorder recorder) {
         List<Runtime.Listener> listeners = new ArrayList<>();
@@ -107,16 +106,13 @@ public class DeploymentProcessor {
                     id = id + ".";
                 }
 
-                // TODO: this has to be done on quarkus side
+                // TODO: this has to be done at runtime
                 //PropertiesSupport.bindProperties(getCamelContext(), listener, id);
             }
 
             listeners.add(listener);
         });
 
-        RuntimeListenerAdapter adapter = new RuntimeListenerAdapter();
-        adapter.setListeners(listeners);
-
-        return new CamelMainListenerBuildItem(adapter);
+        return new CamelMainListenerBuildItem(recorder.createMainListener(listeners));
     }
 }
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
index 5ed3c95..5b75cc4 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.k.core.quarkus.deployment;
 
-import io.quarkus.test.junit.SubstrateTest;
+import io.quarkus.test.junit.NativeImageTest;
 
-@SubstrateTest
+@NativeImageTest
 public class ExtensionIT extends ExtensionTest {
 }
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
index 7e1e05f..bdb1361 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
@@ -29,13 +29,31 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-engine</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-runtime-core</artifactId>
+            <exclusions>
+              <exclusion>
+                <groupId>javax.xml.bind</groupId>
+                <artifactId>jaxb-api</artifactId>
+              </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.jboss.spec.javax.xml.bind</groupId>
+            <artifactId>jboss-jaxb-api_2.3_spec</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
index 50662f2..2ca4f09 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
@@ -49,91 +49,52 @@ public class RuntimeListenerAdapter implements MainListener {
 
     @Override
     public void beforeStart(BaseMainSupport main) {
-        final Runtime runtime = new Runtime() {
-            @Override
-            public CamelContext getCamelContext() {
-                return main.getCamelContext();
-            }
-
-            @Override
-            public void addRoutes(RoutesBuilder builder) {
-                try {
-                    // TODO: the before start event is fired in the wrong
-                    //       phase in camek-quarkus so routes have to be
-                    //       added directly to the registry, eplace with:
-                    //           main.addRoutesBuilder(builder)
-                    //       when fixed.
-                    main.getCamelContext().addRoutes(builder);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        };
-
-        invokeListeners(runtime, Runtime.Phase.Starting);
-        invokeListeners(runtime, Runtime.Phase.ConfigureRoutes);
+        invokeListeners(listeners, on(main), Runtime.Phase.Starting);
+        invokeListeners(listeners, on(main), Runtime.Phase.ConfigureRoutes);
     }
 
     @Override
     public void configure(CamelContext context) {
-        invokeListeners(Runtime.of(context), Runtime.Phase.ConfigureContext);
+        invokeListeners(listeners, on(context), Runtime.Phase.ConfigureContext);
     }
 
     @Override
     public void afterStart(BaseMainSupport main) {
-        final Runtime runtime = new Runtime() {
-            @Override
-            public CamelContext getCamelContext() {
-                return main.getCamelContext();
-            }
-
-            @Override
-            public void addRoutes(RoutesBuilder builder) {
-                try {
-                    // TODO: the before start event is fired in the wrong
-                    //       phase in camek-quarkus so routes have to be
-                    //       added directly to the registry, eplace with:
-                    //           main.addRoutesBuilder(builder)
-                    //       when fixed.
-                    main.getCamelContext().addRoutes(builder);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        };
-
-        invokeListeners(runtime, Runtime.Phase.Started);
+        invokeListeners(listeners, on(main), Runtime.Phase.Started);
     }
 
     @Override
     public void beforeStop(BaseMainSupport main) {
-        final Runtime runtime = new Runtime() {
-            @Override
-            public CamelContext getCamelContext() {
-                return main.getCamelContext();
-            }
+        invokeListeners(listeners, on(main), Runtime.Phase.Stopping);
+    }
 
-            @Override
-            public void addRoutes(RoutesBuilder builder) {
-                try {
-                    // TODO: the before start event is fired in the wrong
-                    //       phase in camek-quarkus so routes have to be
-                    //       added directly to the registry, eplace with:
-                    //           main.addRoutesBuilder(builder)
-                    //       when fixed.
-                    main.getCamelContext().addRoutes(builder);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
+    @Override
+    public void afterStop(BaseMainSupport main) {
+        invokeListeners(listeners, on(main), Runtime.Phase.Stopped);
+    }
+
+    // ************************
+    //
+    // Helpers
+    //
+    // ************************
+
+    private static void invokeListeners(List<Runtime.Listener> listeners, Runtime runtime, Runtime.Phase phase) {
+        listeners.stream()
+            .sorted(Comparator.comparingInt(Runtime.Listener::getOrder))
+            .forEach(l -> {
+                if (l.accept(phase, runtime)) {
+                    LOGGER.info("Listener {} executed in phase {}", l, phase);
                 }
-            }
-        };
+            });
+    }
 
-        invokeListeners(runtime, Runtime.Phase.Stopping);
+    private static Runtime on(CamelContext context) {
+        return Runtime.on(context);
     }
 
-    @Override
-    public void afterStop(BaseMainSupport main) {
-        final Runtime runtime = new Runtime() {
+    private static Runtime on(BaseMainSupport main) {
+        return new Runtime() {
             @Override
             public CamelContext getCamelContext() {
                 return main.getCamelContext();
@@ -141,29 +102,8 @@ public class RuntimeListenerAdapter implements MainListener {
 
             @Override
             public void addRoutes(RoutesBuilder builder) {
-                try {
-                    // TODO: the before start event is fired in the wrong
-                    //       phase in camek-quarkus so routes have to be
-                    //       added directly to the registry, eplace with:
-                    //           main.addRoutesBuilder(builder)
-                    //       when fixed.
-                    main.getCamelContext().addRoutes(builder);
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
+                main.addRoutesBuilder(builder);
             }
         };
-
-        invokeListeners(runtime, Runtime.Phase.Stopped);
-    }
-
-    private void invokeListeners(Runtime runtime, Runtime.Phase phase) {
-        listeners.stream()
-            .sorted(Comparator.comparingInt(Runtime.Listener::getOrder))
-            .forEach(l -> {
-                if (l.accept(phase, runtime)) {
-                    LOGGER.info("Listener {} executed in phase {}", l, phase);
-                }
-            });
     }
 }
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
index 33a2bba..4d0a9a0 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
@@ -16,8 +16,19 @@
  */
 package org.apache.camel.k.core.quarkus;
 
+import java.util.List;
+
+import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.Recorder;
+import org.apache.camel.k.Runtime;
+import org.apache.camel.main.MainListener;
 
 @Recorder
 public class RuntimeRecorder {
+    public RuntimeValue<MainListener> createMainListener(List<Runtime.Listener> listeners) {
+        RuntimeListenerAdapter adapter = new RuntimeListenerAdapter();
+        adapter.setListeners(listeners);
+
+        return new RuntimeValue<>(adapter);
+    }
 }
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
index fe7f5e0..e5851d9 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
@@ -18,11 +18,39 @@ package org.apache.camel.k.quarkus.knative.deployment;
 
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.vertx.deployment.VertxBuildItem;
+import org.apache.camel.component.knative.KnativeComponent;
 import org.apache.camel.component.knative.spi.KnativeEnvironment;
+import org.apache.camel.k.quarkus.knative.KnativeRecorder;
+import org.apache.camel.quarkus.core.CamelServiceFilter;
+import org.apache.camel.quarkus.core.deployment.CamelRuntimeBeanBuildItem;
+import org.apache.camel.quarkus.core.deployment.CamelServiceFilterBuildItem;
 
 public class DeploymentProcessor {
     @BuildStep
+    void servicesFilters(BuildProducer<CamelServiceFilterBuildItem> serviceFilter) {
+        serviceFilter.produce(
+            new CamelServiceFilterBuildItem(CamelServiceFilter.forComponent("knative"))
+        );
+        serviceFilter.produce(
+            new CamelServiceFilterBuildItem(CamelServiceFilter.forPathEndingWith(CamelServiceFilter.CAMEL_SERVICE_BASE_PATH + "/knative/transport/http"))
+        );
+    }
+
+    @Record(ExecutionTime.RUNTIME_INIT)
+    @BuildStep
+    CamelRuntimeBeanBuildItem knativeComponent(KnativeRecorder recorder, VertxBuildItem vertx) {
+        return new CamelRuntimeBeanBuildItem(
+            "knative",
+            KnativeComponent.class,
+            recorder.createKnativeComponent(vertx.getVertx())
+        );
+    }
+
+    @BuildStep
     void registerReflectiveClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
         reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, KnativeEnvironment.class));
         reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, KnativeEnvironment.KnativeServiceDefinition.class));
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
index 01aef0c..9126a12 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
@@ -29,34 +29,25 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-http-common</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-knative</artifactId>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-vertx</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-core</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core-cloud</artifactId>
         </dependency>
-
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-vertx</artifactId>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-runtime-knative</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-http-common</artifactId>
         </dependency>
-
         <dependency>
             <groupId>com.oracle.substratevm</groupId>
             <artifactId>svm</artifactId>
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java b/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
similarity index 57%
copy from camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
copy to camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
index 33a2bba..0768801 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
+++ b/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
@@ -14,10 +14,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.k.core.quarkus;
+package org.apache.camel.k.quarkus.knative;
 
+import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.Recorder;
+import io.vertx.core.Vertx;
+import org.apache.camel.component.knative.KnativeComponent;
+import org.apache.camel.component.knative.http.KnativeHttpTransport;
 
 @Recorder
-public class RuntimeRecorder {
+public class KnativeRecorder {
+    public RuntimeValue<KnativeComponent> createKnativeComponent(RuntimeValue<Vertx> vertx) {
+        KnativeHttpTransport transport = new KnativeHttpTransport();
+        transport.setVertx(vertx.getValue());
+
+        KnativeComponent component = new KnativeComponent();
+        component.setTransport(transport);
+
+        return new RuntimeValue<>(component);
+    }
 }
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/DeploymentProcessor.java
index 741c532..afa19b6 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/DeploymentProcessor.java
@@ -34,7 +34,7 @@ import java.util.TreeSet;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import org.apache.camel.Exchange;
 import org.apache.camel.NamedNode;
 import org.apache.camel.builder.DataFormatClause;
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
index 0f6b784..19ca084 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.k.loader.js.quarkus.deployment;
 
-import io.quarkus.test.junit.SubstrateTest;
+import io.quarkus.test.junit.NativeImageTest;
 
-@SubstrateTest
+@NativeImageTest
 public class ExtensionIT extends ExtensionTest {
 }
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-js/runtime/pom.xml
index 322ee42..50bf94e 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/runtime/pom.xml
@@ -29,13 +29,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-engine</artifactId>
-        </dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core</artifactId>
+        </dependency>        
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-endpointdsl</artifactId>
@@ -44,10 +40,6 @@
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-loader-js</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-core</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-knative/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-knative/runtime/pom.xml
index b3766d2..aec4d28 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-knative/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-knative/runtime/pom.xml
@@ -29,20 +29,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-engine</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-knative</artifactId>
+            <artifactId>camel-k-quarkus-core</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-core</artifactId>
+            <artifactId>camel-k-loader-knative</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
index 721f00d..c0fee9c 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.k.loader.xml.quarkus.deployment;
 
-import io.quarkus.test.junit.SubstrateTest;
+import io.quarkus.test.junit.NativeImageTest;
 
-@SubstrateTest
+@NativeImageTest
 public class ExtensionIT extends ExtensionTest {
 }
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
index 460d8be..f797961 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
@@ -29,14 +29,6 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-xml</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-core</artifactId>
         </dependency>
@@ -44,6 +36,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core-xml</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-loader-xml</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
index 7089c66..b81006a 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
@@ -19,7 +19,7 @@ package org.apache.camel.k.loader.yaml.quarkus.deployment;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import org.apache.camel.k.loader.yaml.model.Node;
 import org.apache.camel.k.loader.yaml.model.Step;
 import org.apache.camel.k.loader.yaml.parser.HasDataFormat;
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
index 4ca41e0..80588b2 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.k.loader.yaml.quarkus.deployment;
 
-import io.quarkus.test.junit.SubstrateTest;
+import io.quarkus.test.junit.NativeImageTest;
 
-@SubstrateTest
+@NativeImageTest
 public class ExtensionIT extends ExtensionTest {
 }
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-yaml/runtime/pom.xml
index 4446795..80a3f52 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/runtime/pom.xml
@@ -29,20 +29,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-engine</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-yaml</artifactId>
+            <artifactId>camel-k-quarkus-core</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-core</artifactId>
+            <artifactId>camel-k-loader-yaml</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
index 6650cdc..6f71be3 100644
--- a/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
@@ -18,7 +18,7 @@ package org.apache.camel.k.quarkus.deployment;
 
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import io.quarkus.runtime.configuration.TemporaryConfigSourceProvider;
 
 public class DeploymentProcessor {
diff --git a/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java b/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
index 3097bb7..a7990fe 100644
--- a/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
+++ b/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
@@ -78,7 +78,7 @@ public interface Runtime extends HasCamelContext {
      * @param camelContext the camel context
      * @return the runtime
      */
-    static Runtime of(CamelContext camelContext) {
+    static Runtime on(CamelContext camelContext) {
         return () -> camelContext;
     }
 
@@ -88,7 +88,7 @@ public interface Runtime extends HasCamelContext {
      * @param provider the camel context provider
      * @return the runtime
      */
-    static Runtime of(HasCamelContext provider) {
+    static Runtime on(HasCamelContext provider) {
         return () -> provider.getCamelContext();
     }
 }
diff --git a/camel-k-runtime-health/src/test/java/org/apache/camel/k/health/HealthCustomizerTest.java b/camel-k-runtime-health/src/test/java/org/apache/camel/k/health/HealthCustomizerTest.java
index 732157b..5946a96 100644
--- a/camel-k-runtime-health/src/test/java/org/apache/camel/k/health/HealthCustomizerTest.java
+++ b/camel-k-runtime-health/src/test/java/org/apache/camel/k/health/HealthCustomizerTest.java
@@ -32,7 +32,7 @@ public class HealthCustomizerTest {
 
     @Test
     public void testServletConfigurer() {
-        Runtime runtime = Runtime.of(new DefaultCamelContext());
+        Runtime runtime = Runtime.on(new DefaultCamelContext());
 
         HealthContextCustomizer healthCustomizer = new HealthContextCustomizer();
         healthCustomizer.apply(runtime.getCamelContext());
diff --git a/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletCustomizerTest.java b/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletCustomizerTest.java
index cefb571..0cc7ca7 100644
--- a/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletCustomizerTest.java
+++ b/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletCustomizerTest.java
@@ -31,7 +31,7 @@ public class ServletCustomizerTest {
 
     @Test
     public void testServletConfigurer() {
-        Runtime runtime = Runtime.of(new DefaultCamelContext());
+        Runtime runtime = Runtime.on(new DefaultCamelContext());
 
         ServletRegistrationContextCustomizer servletRegistrationCustomizer = new ServletRegistrationContextCustomizer("/webhook/*", "webhook-servlet");
         servletRegistrationCustomizer.apply(runtime.getCamelContext());
diff --git a/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletRegistrationCustomizerTest.java b/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletRegistrationCustomizerTest.java
index e4cc862..2c3eea9 100644
--- a/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletRegistrationCustomizerTest.java
+++ b/camel-k-runtime-servlet/src/test/java/org/apache/camel/k/servlet/ServletRegistrationCustomizerTest.java
@@ -31,7 +31,7 @@ public class ServletRegistrationCustomizerTest {
 
     @Test
     public void testServletRegistrationConfigurer() {
-        Runtime runtime = Runtime.of(new DefaultCamelContext());
+        Runtime runtime = Runtime.on(new DefaultCamelContext());
 
         ServletRegistrationContextCustomizer servletRegistrationCustomizer = new ServletRegistrationContextCustomizer();
         servletRegistrationCustomizer.apply(runtime.getCamelContext());
diff --git a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
index 0091dcb..3759ccc 100644
--- a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
+++ b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
@@ -123,6 +123,10 @@ public class KnativeHttpConsumer extends DefaultConsumer implements KnativeHttp.
                     });
                 } catch (Exception e) {
                     getExceptionHandler().handleException(e);
+
+                    request.response().setStatusCode(500);
+                    request.response().putHeader(Exchange.CONTENT_TYPE, "text/plain");
+                    request.response().end(e.getMessage());
                 } finally {
                     doneUoW(exchange);
                 }
diff --git a/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
index 6458c09..8a2329a 100644
--- a/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
+++ b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
@@ -173,13 +173,13 @@ public class KnativeComponent extends DefaultComponent {
                     .newInstance(protocol.name(), KnativeTransport.class)
                     .orElseThrow(() -> new RuntimeException("Error creating knative transport for protocol: " + protocol.name()));
             }
+        }
 
-            if (this.transport instanceof CamelContextAware) {
-                CamelContextAware camelContextAware = (CamelContextAware)this.transport;
+        if (this.transport instanceof CamelContextAware) {
+            CamelContextAware camelContextAware = (CamelContextAware)this.transport;
 
-                if (camelContextAware.getCamelContext() == null) {
-                    camelContextAware.setCamelContext(getCamelContext());
-                }
+            if (camelContextAware.getCamelContext() == null) {
+                camelContextAware.setCamelContext(getCamelContext());
             }
         }
 
diff --git a/examples/camel-k-runtime-example-quarkus-js/data/application.properties b/examples/camel-k-runtime-example-quarkus-js/data/application.properties
index 6941303..b5802ce 100644
--- a/examples/camel-k-runtime-example-quarkus-js/data/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-js/data/application.properties
@@ -1,2 +1,29 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
 
+#
+# camel - main
+#
+camel.main.name = camel-q
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
+
+#
+# Integration
+#
 message = test-xs
+
diff --git a/examples/camel-k-runtime-example-quarkus-js/data/routes.js b/examples/camel-k-runtime-example-quarkus-js/data/routes.js
index 63acd07..8a86516 100644
--- a/examples/camel-k-runtime-example-quarkus-js/data/routes.js
+++ b/examples/camel-k-runtime-example-quarkus-js/data/routes.js
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 
 from('timer:tick')
     .to('log:info');
diff --git a/examples/camel-k-runtime-example-quarkus-js/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-js/src/main/resources/application.properties
index c543799..3ac1675 100644
--- a/examples/camel-k-runtime-example-quarkus-js/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-js/src/main/resources/application.properties
@@ -14,18 +14,12 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
+
 #
-# quarkus - log
+# quarkus
 #
 quarkus.log.file.enable = false
 quarkus.log.console.enable = true
 
 quarkus.log.level = INFO
 quarkus.log.category."org.apache.camel".level = INFO
-
-#
-# camel - main
-#
-camel.main.name = camel-q
-camel.main.stream-caching-enabled = true
-camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
diff --git a/examples/camel-k-runtime-example-quarkus-knative/data/application.properties b/examples/camel-k-runtime-example-quarkus-knative/data/application.properties
index 2b4aaa2..111c9b6 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/data/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-knative/data/application.properties
@@ -1,7 +1,24 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
 #
 # camel
 #
 camel.context.name = camel-q
-camel.context.stream-caching = true
-camel.context.stream-caching-strategy.spool-directory = ${java.io.tmpdir}/camel-q
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
+#camel.main.autowire-component-properties = false
 
diff --git a/examples/camel-k-runtime-example-quarkus-knative/pom.xml b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
index 650d64d..c73e4b6 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
@@ -53,17 +53,10 @@
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-loader-yaml</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-log</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>org.jboss.spec.javax.servlet</groupId>
-            <artifactId>jboss-servlet-api_4.0_spec</artifactId>
-            <version>1.0.0.Final</version>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/examples/camel-k-runtime-example-quarkus-knative/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-knative/src/main/resources/application.properties
index 8ddef31..3ac1675 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-knative/src/main/resources/application.properties
@@ -14,22 +14,12 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
+
 #
 # quarkus
 #
 quarkus.log.file.enable = false
-
 quarkus.log.console.enable = true
-quarkus.log.console.level = INFO
-
-#quarkus.log.category."org.apache.camel.support".level=INFO
-quarkus.log.category."org.apache.camel.quarkus".level = DEBUG
-
-#
-# camel - main
-#
-camel.main.name = camel-q
-camel.main.stream-caching-enabled = true
-camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
-
 
+quarkus.log.level = INFO
+quarkus.log.category."org.apache.camel".level = INFO
diff --git a/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties b/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties
index 6941303..b893531 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties
@@ -1,2 +1,28 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
 
+#
+# camel - main
+#
+camel.main.name = camel-q
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
+
+#
+# Integration
+#
 message = test-xs
diff --git a/examples/camel-k-runtime-example-quarkus-yaml/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-yaml/src/main/resources/application.properties
index 6e9048b..88c3528 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-yaml/src/main/resources/application.properties
@@ -22,10 +22,3 @@ quarkus.log.console.enable = true
 
 quarkus.log.level = INFO
 quarkus.log.category."org.apache.camel".level = INFO
-
-#
-# camel - main
-#
-camel.main.name = camel-q
-camel.main.stream-caching-enabled = true
-camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 7314620..634f27a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <camel.version>3.0.0-RC3</camel.version>
-        <camel-quarkus.version>0.3.0</camel-quarkus.version>
+        <camel-quarkus.version>0.3.1</camel-quarkus.version>
         <catalog.version>${camel.version}</catalog.version>
         <junit.version>5.5.2</junit.version>
         <joor.version>0.9.12</joor.version>
@@ -59,7 +59,7 @@
         <undertow.version>1.4.26.Final</undertow.version>
         <vertx.version>3.8.3</vertx.version>
         <graalvm.version>19.2.0.1</graalvm.version>
-        <quarkus.version>0.26.1</quarkus.version>
+        <quarkus.version>0.27.0</quarkus.version>
         <jandex.version>2.1.1.Final</jandex.version>
         <javapoet.version>1.11.1</javapoet.version>
         <auto-service.version>1.0-rc6</auto-service.version>
@@ -238,18 +238,6 @@
                 <enabled>false</enabled>
             </releases>
         </repository>
-
-        <repository>
-            <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1159</url>
-            <name>Apache Snapshot Repo</name>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
     </repositories>
 
     <pluginRepositories>
@@ -263,17 +251,6 @@
                 <enabled>false</enabled>
             </releases>
         </pluginRepository>
-        <pluginRepository>
-            <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1159</url>
-            <name>Apache Snapshot Repo</name>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </pluginRepository>
     </pluginRepositories>
 
     <dependencyManagement>