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 2020/07/09 12:44:47 UTC
[camel-k-runtime] branch master updated (9802e7b -> 0f996a0)
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git.
from 9802e7b Merge pull request #382 from apache/ra-4.3.1
new b83af3c Upgrade to Camel 3.4 #361
new 0f996a0 Event-loop blocked when using http component starting from knative #383
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../k/loader/groovy/GroovySourceLoader.groovy | 3 +-
.../apache/camel/k/loader/groovy/LoaderTest.groovy | 4 +-
.../k/loader/groovy/dsl/IntegrationTest.groovy | 6 +-
camel-k-main/camel-k-runtime-health/pom.xml | 4 ++
.../camel/k/health/HealthContextCustomizer.java | 2 +-
.../camel-k-quarkus-core/deployment/pom.xml | 12 ----
.../quarkus/deployment/DeploymentProcessor.java | 31 +-------
.../camel/k/core/quarkus/RuntimeRecorder.java | 8 ---
.../camel-k-quarkus-cron/deployment/pom.xml | 12 ----
.../camel-k-quarkus-knative/deployment/pom.xml | 12 ----
.../deployment/pom.xml | 12 ----
.../camel-k-quarkus-loader-java/deployment/pom.xml | 12 ----
.../camel-k-quarkus-loader-js/deployment/pom.xml | 12 ----
.../deployment/pom.xml | 12 ----
.../camel-k-quarkus-loader-xml/deployment/pom.xml | 12 ----
.../camel-k-quarkus-loader-yaml/deployment/pom.xml | 12 ----
.../quarkus/deployment/DeploymentProcessor.java | 3 +-
.../camel-k-runtime-quarkus/deployment/pom.xml | 16 ++---
.../k/quarkus/deployment/DeploymentProcessor.java | 41 +++++++++--
.../camel-k-runtime-quarkus/runtime/pom.xml | 4 ++
.../k/quarkus/ApplicationListenerAdapter.java} | 10 +--
.../camel/k/quarkus/ApplicationRecorder.java | 20 +++---
camel-knative/camel-knative-http/pom.xml | 4 ++
.../knative/http/KnativeHttpConsumer.java | 82 +++++++++++++++-------
.../component/knative/http/KnativeHttpTest.java | 64 +++++++++++++++++
.../data/application.properties | 4 +-
.../pom.xml | 1 +
.../camel-k-runtime-example-quarkus-xml/pom.xml | 1 +
.../data/application.properties | 2 +-
.../camel-k-runtime-example-quarkus-yaml/pom.xml | 1 +
.../src/main/resources/conf/application.properties | 5 +-
pom.xml | 10 +--
32 files changed, 212 insertions(+), 222 deletions(-)
rename camel-k-quarkus/{camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java => camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationListenerAdapter.java} (94%)
copy camel-k-runtime-core/src/main/java/org/apache/camel/k/Source.java => camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRecorder.java (66%)
[camel-k-runtime] 02/02: Event-loop blocked when using http
component starting from knative #383
Posted by lb...@apache.org.
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
commit 0f996a03f8a8904ec7dfc84f79aae4de68e641a2
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Jul 9 12:14:40 2020 +0200
Event-loop blocked when using http component starting from knative #383
---
camel-knative/camel-knative-http/pom.xml | 4 ++
.../knative/http/KnativeHttpConsumer.java | 82 +++++++++++++++-------
.../component/knative/http/KnativeHttpTest.java | 64 +++++++++++++++++
3 files changed, 125 insertions(+), 25 deletions(-)
diff --git a/camel-knative/camel-knative-http/pom.xml b/camel-knative/camel-knative-http/pom.xml
index c6d2c85..3ee7d3e 100644
--- a/camel-knative/camel-knative-http/pom.xml
+++ b/camel-knative/camel-knative-http/pom.xml
@@ -43,6 +43,10 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-cloud</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-http</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.k</groupId>
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 4764e40..4ce46b1 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
@@ -163,42 +163,74 @@ public class KnativeHttpConsumer extends DefaultConsumer {
try {
createUoW(exchange);
- getAsyncProcessor().process(exchange, doneSync -> {
- try {
- HttpServerResponse response = toHttpResponse(request, exchange.getMessage());
- Buffer body = null;
-
- if (request.response().getStatusCode() != 204) {
- body = computeResponseBody(exchange.getMessage());
-
- // set the content type in the response.
- String contentType = MessageHelper.getContentType(exchange.getMessage());
- if (contentType != null) {
- // set content-type
- response.putHeader(Exchange.CONTENT_TYPE, contentType);
- }
+
+ // We do not know if any of the processing logic of the route is synchronous or not so we
+ // need to process the request on a thread on the Vert.x worker pool.
+ //
+ // As example the following route may block the Vert.x event loop as the camel-http component
+ // is not async so if the service is scaled-down, the it may take a while to become ready and
+ // the camel-http component blocks until the service becomes available.
+ //
+ // from("knative:event/my.event")
+ // .to("http://{{env:PROJECT}}.{{env:NAMESPACE}}.svc.cluster.local/service");
+ //
+ router.vertx().executeBlocking(
+ promise -> {
+ try {
+ // no need to use an async processor as the processing happen in
+ // a dedicated thread ans it won't block the Vert.x event loop
+ getProcessor().process(exchange);
+ promise.complete();
+ } catch (Exception e) {
+ promise.fail(e);
}
+ },
+ false,
+ result -> {
+ if (result.succeeded()) {
+ try {
+ HttpServerResponse response = toHttpResponse(request, exchange.getMessage());
+ Buffer body = null;
+
+ if (request.response().getStatusCode() != 204) {
+ body = computeResponseBody(exchange.getMessage());
+
+ // set the content type in the response.
+ String contentType = MessageHelper.getContentType(exchange.getMessage());
+ if (contentType != null) {
+ // set content-type
+ response.putHeader(Exchange.CONTENT_TYPE, contentType);
+ }
+ }
+
+ if (body != null) {
+ request.response().end(body);
+ } else {
+ request.response().setStatusCode(204);
+ request.response().end();
+ }
+ } catch (Exception e) {
+ getExceptionHandler().handleException(e);
+ }
+ } else if (result.failed()) {
+ getExceptionHandler().handleException(result.cause());
- if (body != null) {
- request.response().end(body);
- } else {
- request.response().setStatusCode(204);
- request.response().end();
+ request.response().setStatusCode(500);
+ request.response().putHeader(Exchange.CONTENT_TYPE, "text/plain");
+ request.response().end(result.cause().getMessage());
}
- } catch (Exception e) {
- getExceptionHandler().handleException(e);
- }
- });
+
+ doneUoW(exchange);
+ });
} 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);
}
-
}
private Message toMessage(HttpServerRequest request, Exchange exchange) {
diff --git a/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java b/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
index a896c1c..ee55fcc 100644
--- a/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
+++ b/camel-knative/camel-knative-http/src/test/java/org/apache/camel/component/knative/http/KnativeHttpTest.java
@@ -44,6 +44,7 @@ import org.apache.camel.http.base.HttpOperationFailedException;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.k.http.PlatformHttpServiceContextCustomizer;
import org.apache.camel.k.test.AvailablePortFinder;
+import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -91,6 +92,8 @@ public class KnativeHttpTest {
@AfterEach
public void after() {
+ ServiceHelper.stopService(template);
+
if (this.context != null) {
this.context.stop();
}
@@ -1680,5 +1683,66 @@ public class KnativeHttpTest {
server.stop();
}
}
+
+ @ParameterizedTest
+ @EnumSource(CloudEvents.class)
+ void testSlowConsumer(CloudEvent ce) throws Exception {
+ final int port = AvailablePortFinder.getNextAvailable();
+ final KnativeHttpServer server = new KnativeHttpServer(context, port, event -> {
+ event.vertx().executeBlocking(
+ promise -> {
+ try {
+ Thread.sleep(5000);
+ promise.complete();
+ } catch (InterruptedException e) {
+ promise.fail(e);
+ }
+ },
+ false,
+ result -> {
+ event.response().setStatusCode(200);
+ event.response().end("");
+ }
+ );
+ });
+
+ configureKnativeComponent(
+ context,
+ ce,
+ sourceEndpoint(
+ "start",
+ mapOf(
+ Knative.KNATIVE_EVENT_TYPE, "org.apache.camel.event",
+ Knative.CONTENT_TYPE, "text/plain"
+ ))
+ );
+
+ try {
+ server.start();
+
+ RouteBuilder.addRoutes(context, b -> {
+ b.from("knative:endpoint/start")
+ .removeHeaders("Camel*")
+ .toF("http://localhost:%d", port);
+ });
+
+ context.start();
+
+ given()
+ .body("test")
+ .header(Exchange.CONTENT_TYPE, "text/plain")
+ .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_VERSION).http(), ce.version())
+ .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_TYPE).http(), "org.apache.camel.event")
+ .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_ID).http(), "myEventID")
+ .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_TIME).http(), DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(ZonedDateTime.now()))
+ .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE).http(), "/somewhere")
+ .when()
+ .post()
+ .then()
+ .statusCode(200);
+ } finally {
+ server.stop();
+ }
+ }
}
[camel-k-runtime] 01/02: Upgrade to Camel 3.4 #361
Posted by lb...@apache.org.
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
commit b83af3cfe9e73ee1c724c57c1d74dc997a0bb3b8
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri Jul 3 18:16:45 2020 +0200
Upgrade to Camel 3.4 #361
---
.../k/loader/groovy/GroovySourceLoader.groovy | 3 +-
.../apache/camel/k/loader/groovy/LoaderTest.groovy | 4 +--
.../k/loader/groovy/dsl/IntegrationTest.groovy | 6 ++--
camel-k-main/camel-k-runtime-health/pom.xml | 4 +++
.../camel/k/health/HealthContextCustomizer.java | 2 +-
.../camel-k-quarkus-core/deployment/pom.xml | 12 -------
.../quarkus/deployment/DeploymentProcessor.java | 31 ++--------------
.../camel/k/core/quarkus/RuntimeRecorder.java | 8 -----
.../camel-k-quarkus-cron/deployment/pom.xml | 12 -------
.../camel-k-quarkus-knative/deployment/pom.xml | 12 -------
.../deployment/pom.xml | 12 -------
.../camel-k-quarkus-loader-java/deployment/pom.xml | 12 -------
.../camel-k-quarkus-loader-js/deployment/pom.xml | 12 -------
.../deployment/pom.xml | 12 -------
.../camel-k-quarkus-loader-xml/deployment/pom.xml | 12 -------
.../camel-k-quarkus-loader-yaml/deployment/pom.xml | 12 -------
.../quarkus/deployment/DeploymentProcessor.java | 3 +-
.../camel-k-runtime-quarkus/deployment/pom.xml | 16 +++------
.../k/quarkus/deployment/DeploymentProcessor.java | 41 ++++++++++++++++++----
.../camel-k-runtime-quarkus/runtime/pom.xml | 4 +++
.../k/quarkus/ApplicationListenerAdapter.java} | 10 +++---
.../camel/k/quarkus/ApplicationRecorder.java} | 21 +++++------
.../data/application.properties | 4 +--
.../pom.xml | 1 +
.../camel-k-runtime-example-quarkus-xml/pom.xml | 1 +
.../data/application.properties | 2 +-
.../camel-k-runtime-example-quarkus-yaml/pom.xml | 1 +
.../src/main/resources/conf/application.properties | 5 +--
pom.xml | 10 +++---
29 files changed, 86 insertions(+), 199 deletions(-)
diff --git a/camel-k-loader-groovy/src/main/groovy/org/apache/camel/k/loader/groovy/GroovySourceLoader.groovy b/camel-k-loader-groovy/src/main/groovy/org/apache/camel/k/loader/groovy/GroovySourceLoader.groovy
index 03db32b..f0e2fc8 100644
--- a/camel-k-loader-groovy/src/main/groovy/org/apache/camel/k/loader/groovy/GroovySourceLoader.groovy
+++ b/camel-k-loader-groovy/src/main/groovy/org/apache/camel/k/loader/groovy/GroovySourceLoader.groovy
@@ -44,8 +44,7 @@ class GroovySourceLoader implements SourceLoader {
cc.addCompilationCustomizers(ic)
cc.setScriptBaseClass(DelegatingScript.class.getName())
- def cl = Thread.currentThread().getContextClassLoader()
- def sh = new GroovyShell(cl, new Binding(), cc)
+ def sh = new GroovyShell(new Binding(), cc)
def is = source.resolveAsInputStream(getContext())
is.withCloseable {
diff --git a/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/LoaderTest.groovy b/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/LoaderTest.groovy
index 4fa9e24..c637fda 100644
--- a/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/LoaderTest.groovy
+++ b/camel-k-loader-groovy/src/test/groovy/org/apache/camel/k/loader/groovy/LoaderTest.groovy
@@ -74,10 +74,10 @@ class LoaderTest extends Specification {
routes.size() == 1
with(routes[0].input, FromDefinition) {
- it.endpointUri == 'timer:tick?period=1s'
+ it.endpointUri == 'timer://tick?period=1s'
}
with(routes[0].outputs[0], ToDefinition) {
- it.endpointUri == 'log:info'
+ it.endpointUri == 'log://info'
}
}
}
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 409705e..11f29ac 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
@@ -181,10 +181,10 @@ class IntegrationTest extends Specification {
context.start()
then:
context.routes?.size() == 1
- context.routes[0].routeContext.getOnException('my-on-exception') != null
- context.routes[0].routeContext.getOnException('my-on-exception') instanceof FatalFallbackErrorHandler
+ context.routes[0].getOnException('my-on-exception') != null
+ context.routes[0].getOnException('my-on-exception') instanceof FatalFallbackErrorHandler
- def eh = context.routes[0].routeContext.getOnException('my-on-exception') as FatalFallbackErrorHandler
+ def eh = context.routes[0].getOnException('my-on-exception') as FatalFallbackErrorHandler
def ch = eh.processor as DefaultChannel
ch.output instanceof SendProcessor
diff --git a/camel-k-main/camel-k-runtime-health/pom.xml b/camel-k-main/camel-k-runtime-health/pom.xml
index 17194fc..c66c7e9 100644
--- a/camel-k-main/camel-k-runtime-health/pom.xml
+++ b/camel-k-main/camel-k-runtime-health/pom.xml
@@ -40,6 +40,10 @@
<artifactId>camel-core-engine</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-health</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-runtime-core</artifactId>
</dependency>
diff --git a/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java b/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
index b143c90..b5e5086 100644
--- a/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
+++ b/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
@@ -94,7 +94,7 @@ public class HealthContextCustomizer implements ContextCustomizer {
try {
HealthCheckRegistry reg = HealthCheckRegistry.get(camelContext);
if (includeRoutes) {
- reg.addRepository(new RoutesHealthCheckRepository());
+ reg.register(new RoutesHealthCheckRepository());
}
if (includeContext) {
ContextHealthCheck contextHealthCheck = new ContextHealthCheck();
diff --git a/camel-k-quarkus/camel-k-quarkus-core/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-core/deployment/pom.xml
index ff2f4e3..6468aa6 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-core/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-core-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
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 8d8ce8f..3f4a853 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
@@ -16,9 +16,7 @@
*/
package org.apache.camel.k.core.quarkus.deployment;
-import java.util.ArrayList;
import java.util.List;
-import java.util.ServiceLoader;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
@@ -28,12 +26,10 @@ import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
import org.apache.camel.k.Constants;
-import org.apache.camel.k.Runtime;
import org.apache.camel.k.core.quarkus.RuntimeRecorder;
import org.apache.camel.quarkus.core.deployment.spi.CamelContextCustomizerBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelMainListenerBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
-import org.apache.camel.spi.HasId;
import org.apache.camel.spi.StreamCachingStrategy;
import org.jboss.jandex.IndexView;
@@ -44,12 +40,12 @@ public class DeploymentProcessor {
List<CamelServicePatternBuildItem> servicePatterns() {
return List.of(
new CamelServicePatternBuildItem(
- CamelServicePatternBuildItem.CamelServiceDestination.REGISTRY,
+ CamelServiceDestination.REGISTRY,
true,
Constants.SOURCE_LOADER_RESOURCE_PATH + "/*",
Constants.CONTEXT_CUSTOMIZER_RESOURCE_PATH + "/*"),
new CamelServicePatternBuildItem(
- CamelServicePatternBuildItem.CamelServiceDestination.DISCOVERY,
+ CamelServiceDestination.DISCOVERY,
true,
Constants.SOURCE_LOADER_INTERCEPTOR_RESOURCE_PATH + "/*")
);
@@ -116,27 +112,6 @@ public class DeploymentProcessor {
@Record(ExecutionTime.STATIC_INIT)
@BuildStep
- CamelMainListenerBuildItem registerListener(RuntimeRecorder recorder) {
- List<Runtime.Listener> listeners = new ArrayList<>();
- ServiceLoader.load(Runtime.Listener.class).forEach(listener -> {
- if (listener instanceof HasId) {
- String id = ((HasId) listener).getId();
- if (!id.endsWith(".")) {
- id = id + ".";
- }
-
- // TODO: this has to be done at runtime
- //PropertiesSupport.bindProperties(getCamelContext(), listener, id);
- }
-
- listeners.add(listener);
- });
-
- return new CamelMainListenerBuildItem(recorder.createMainListener(listeners));
- }
-
- @Record(ExecutionTime.STATIC_INIT)
- @BuildStep
void customizeContext(RuntimeRecorder recorder, BuildProducer<CamelContextCustomizerBuildItem> customizers) {
customizers.produce(new CamelContextCustomizerBuildItem(recorder.registerCompositeClassLoader()));
}
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 c02441b..aae6a37 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,22 +16,14 @@
*/
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.CamelContext;
import org.apache.camel.k.CompositeClassloader;
-import org.apache.camel.k.Runtime;
-import org.apache.camel.main.MainListener;
import org.apache.camel.quarkus.core.CamelContextCustomizer;
@Recorder
public class RuntimeRecorder {
- public RuntimeValue<MainListener> createMainListener(List<Runtime.Listener> listeners) {
- return new RuntimeValue<>(new RuntimeListenerAdapter(listeners));
- }
-
public RuntimeValue<CamelContextCustomizer> registerCompositeClassLoader() {
return new RuntimeValue<>(new CamelContextCustomizer() {
@Override
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-cron/deployment/pom.xml
index 2692117..dc75079 100644
--- a/camel-k-quarkus/camel-k-quarkus-cron/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-cron/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-cron-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/deployment/pom.xml
index aee062d..0be3336 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-knative-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
index 786c051..527ff7a 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-loader-groovy-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
index 0802329..75154aa 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-loader-java-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/pom.xml
index 98c5f65..3e87c38 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-loader-js-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
index 0a196be..006a727 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-loader-kotlin-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
index aaee4d2..fb637ed 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-quarkus-loader-xml-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/pom.xml
index a3f917b..afe45c9 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/pom.xml
@@ -26,18 +26,6 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>camel-k-quarkus-loader-yaml-deployment</artifactId>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
<dependencies>
<dependency>
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 0159a0a..cbe86d3 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
@@ -28,6 +28,7 @@ import org.apache.camel.k.loader.yaml.spi.StepParser;
import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.DotName;
@@ -46,7 +47,7 @@ public class DeploymentProcessor {
@BuildStep
CamelServicePatternBuildItem servicePatterns() {
return new CamelServicePatternBuildItem(
- CamelServicePatternBuildItem.CamelServiceDestination.DISCOVERY,
+ CamelServiceDestination.DISCOVERY,
true,
StepParser.SERVICE_LOCATION + "/*");
}
diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/deployment/pom.xml b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/pom.xml
index 3d17668..10dac08 100644
--- a/camel-k-quarkus/camel-k-runtime-quarkus/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/pom.xml
@@ -27,18 +27,6 @@
<artifactId>camel-k-runtime-quarkus-deployment</artifactId>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bom-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.apache.camel.k</groupId>
@@ -50,6 +38,10 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-main-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-bean-deployment</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 c35b6f7..3136a69 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
@@ -16,19 +16,46 @@
*/
package org.apache.camel.k.quarkus.deployment;
+import java.util.ArrayList;
import java.util.List;
+import java.util.ServiceLoader;
import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.annotations.ExecutionTime;
+import io.quarkus.deployment.annotations.Record;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.apache.camel.k.Runtime;
+import org.apache.camel.k.quarkus.ApplicationRecorder;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
+import org.apache.camel.quarkus.main.CamelMainApplication;
+import org.apache.camel.quarkus.main.deployment.spi.CamelMainListenerBuildItem;
+import org.apache.camel.spi.HasId;
public class DeploymentProcessor {
@BuildStep
- public List<CamelServicePatternBuildItem> factoryPatterns() {
- return List.of(
- new CamelServicePatternBuildItem(
- CamelServicePatternBuildItem.CamelServiceDestination.DISCOVERY,
- true,
- "META-INF/services/org/apache/camel/rest/*",
- "META-INF/services/org/apache/camel/restapi/*"));
+ public ReflectiveClassBuildItem reflectiveClasses() {
+ return new ReflectiveClassBuildItem(true, false, CamelMainApplication.class);
+ }
+
+ @Record(ExecutionTime.STATIC_INIT)
+ @BuildStep
+ CamelMainListenerBuildItem registerListener(ApplicationRecorder recorder) {
+ List<Runtime.Listener> listeners = new ArrayList<>();
+ ServiceLoader.load(Runtime.Listener.class).forEach(listener -> {
+ if (listener instanceof HasId) {
+ String id = ((HasId) listener).getId();
+ if (!id.endsWith(".")) {
+ id = id + ".";
+ }
+
+ // TODO: this has to be done at runtime
+ //PropertiesSupport.bindProperties(getCamelContext(), listener, id);
+ }
+
+ listeners.add(listener);
+ });
+
+ return new CamelMainListenerBuildItem(recorder.createMainListener(listeners));
}
}
diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/pom.xml b/camel-k-quarkus/camel-k-runtime-quarkus/runtime/pom.xml
index 8bc8bd9..dd308ce 100644
--- a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-runtime-quarkus/runtime/pom.xml
@@ -36,6 +36,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-bean</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-main</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-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationListenerAdapter.java
similarity index 94%
rename from camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
rename to camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationListenerAdapter.java
index 20445f1..21b9321 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-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationListenerAdapter.java
@@ -14,7 +14,7 @@
* 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;
import java.util.ArrayList;
import java.util.Comparator;
@@ -30,16 +30,16 @@ import org.apache.camel.main.MainListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class RuntimeListenerAdapter implements MainListener {
- private static final Logger LOGGER = LoggerFactory.getLogger(RuntimeListenerAdapter.class);
+public class ApplicationListenerAdapter implements MainListener {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationListenerAdapter.class);
private final List<Runtime.Listener> listeners;
- public RuntimeListenerAdapter() {
+ public ApplicationListenerAdapter() {
this.listeners = new ArrayList<>();
}
- public RuntimeListenerAdapter(List<Runtime.Listener> listeners) {
+ public ApplicationListenerAdapter(List<Runtime.Listener> listeners) {
this.listeners = new ArrayList<>(listeners);
}
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/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRecorder.java
similarity index 59%
copy from camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
copy to camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRecorder.java
index c35b6f7..587dd9b 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/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRecorder.java
@@ -14,21 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.k.quarkus.deployment;
+package org.apache.camel.k.quarkus;
import java.util.List;
-import io.quarkus.deployment.annotations.BuildStep;
-import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
+import io.quarkus.runtime.RuntimeValue;
+import io.quarkus.runtime.annotations.Recorder;
+import org.apache.camel.k.Runtime;
+import org.apache.camel.main.MainListener;
-public class DeploymentProcessor {
- @BuildStep
- public List<CamelServicePatternBuildItem> factoryPatterns() {
- return List.of(
- new CamelServicePatternBuildItem(
- CamelServicePatternBuildItem.CamelServiceDestination.DISCOVERY,
- true,
- "META-INF/services/org/apache/camel/rest/*",
- "META-INF/services/org/apache/camel/restapi/*"));
+@Recorder
+public class ApplicationRecorder {
+ public RuntimeValue<MainListener> createMainListener(List<Runtime.Listener> listeners) {
+ return new RuntimeValue<>(new ApplicationListenerAdapter(listeners));
}
}
diff --git a/examples/camel-k-runtime-example-api/data/application.properties b/examples/camel-k-runtime-example-api/data/application.properties
index 5493f7e..fcd774d 100644
--- a/examples/camel-k-runtime-example-api/data/application.properties
+++ b/examples/camel-k-runtime-example-api/data/application.properties
@@ -28,9 +28,9 @@ camel.main.stream-caching-enabled = true
camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
#
-# camel - main
+# camel - rest
#
-camel.context.rest-configuration.api-context-path=/api-doc
+camel.rest.api-context-path=/api-doc
#
# Camel K
diff --git a/examples/camel-k-runtime-example-quarkus-knative/pom.xml b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
index 04f473c..9554034 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
@@ -142,6 +142,7 @@
</executions>
<configuration>
<executable>${project.build.directory}/${project.artifactId}-runner</executable>
+ <arguments combine.self="override"/>
<workingDirectory>${project.basedir}</workingDirectory>
<environmentVariables>
<CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
diff --git a/examples/camel-k-runtime-example-quarkus-xml/pom.xml b/examples/camel-k-runtime-example-quarkus-xml/pom.xml
index 38ca724..a8c5569 100644
--- a/examples/camel-k-runtime-example-quarkus-xml/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-xml/pom.xml
@@ -143,6 +143,7 @@
</executions>
<configuration>
<executable>${project.build.directory}/${project.artifactId}-runner</executable>
+ <arguments combine.self="override"/>
<workingDirectory>${project.basedir}</workingDirectory>
<environmentVariables>
<CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
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 5d62cff..70e98f8 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-yaml/data/application.properties
@@ -31,7 +31,7 @@ camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
#
# Camel - rest
#
-camel.context.rest-configuration.component = platform-http
+camel.rest.component = platform-http
#
# Integration
diff --git a/examples/camel-k-runtime-example-quarkus-yaml/pom.xml b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
index 42ff7e4..78c8235 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
@@ -169,6 +169,7 @@
</executions>
<configuration>
<executable>${project.build.directory}/${project.artifactId}-runner</executable>
+ <arguments combine.self="override"/>
<workingDirectory>${project.basedir}</workingDirectory>
<environmentVariables>
<CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
diff --git a/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties b/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
index fbb9d81..ad22a27 100644
--- a/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
+++ b/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
@@ -26,10 +26,11 @@ logging.level.org.apache.camel.k = DEBUG
camel.main.name = camel-k
camel.main.stream-caching-enabled = true
camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
+
#
# Camel - rest
#
-camel.context.rest-configuration.component = platform-http
+camel.rest.component = platform-http
#
# camel-k - platform http
@@ -40,4 +41,4 @@ camel.k.customizer.platform-http.bind-port = 8080
#
# Integration
#
-message = test-app
\ No newline at end of file
+message = test-app
diff --git a/pom.xml b/pom.xml
index 209b5f2..257798d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,8 +39,8 @@
<maven.compiler.target>11</maven.compiler.target>
<kotlin.compiler.target>1.8</kotlin.compiler.target>
- <camel.version>3.3.0</camel.version>
- <camel-quarkus.version>1.0.0-CR2</camel-quarkus.version>
+ <camel.version>3.4.0</camel.version>
+ <camel-quarkus.version>1.0.0-CR3</camel-quarkus.version>
<catalog.version>${camel.version}</catalog.version>
<junit.version>5.6.2</junit.version>
<joor.version>0.9.13</joor.version>
@@ -54,15 +54,15 @@
<groovy.version>3.0.4</groovy.version>
<kotlin.version>1.3.72</kotlin.version>
<snakeyaml.version>1.26</snakeyaml.version>
- <spock.version>2.0-M2-groovy-3.0</spock.version>
+ <spock.version>2.0-M3-groovy-3.0</spock.version>
<jackson.version>2.10.4</jackson.version>
<jaxb-api.version>2.3.0</jaxb-api.version>
<jaxb-core.version>2.3.0.1</jaxb-core.version>
<immutables.version>2.8.8</immutables.version>
<semver4j.version>3.1.0</semver4j.version>
<vertx.version>3.9.0</vertx.version>
- <graalvm.version>19.3.1</graalvm.version>
- <quarkus.version>1.5.0.Final</quarkus.version>
+ <graalvm.version>20.1.0</graalvm.version>
+ <quarkus.version>1.6.0.Final</quarkus.version>
<jandex.version>2.1.3.Final</jandex.version>
<javapoet.version>1.11.1</javapoet.version>
<rest-assured.version>4.3.1</rest-assured.version>