You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2019/10/30 12:14:48 UTC
[camel-k-runtime] 02/09: update to camel-quarkus 0.3.0
This is an automated email from the ASF dual-hosted git repository.
astefanutti pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git
commit e1068da68db0f3d95353d01c5a9599f91fa6cddd
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Sat Oct 26 00:56:45 2019 +0200
update to camel-quarkus 0.3.0
---
camel-k-loader-groovy/pom.xml | 15 --
camel-k-loader-java/pom.xml | 5 -
camel-k-loader-js/pom.xml | 5 -
camel-k-loader-knative/pom.xml | 5 -
camel-k-loader-kotlin/pom.xml | 5 -
camel-k-loader-xml/pom.xml | 5 -
camel-k-loader-yaml/pom.xml | 5 -
.../quarkus/deployment/DeploymentProcessor.java | 80 +++++++++-
.../deployment/devmode/HotDeploymentProcessor.java | 7 +-
camel-k-quarkus/camel-k-quarkus-core/it/pom.xml | 3 +-
.../it/src/main/resources/application.properties | 9 +-
.../k/core/quarkus/RuntimeListenerAdapter.java | 169 +++++++++++++++++++++
.../camel/k/core/quarkus/RuntimeRecorder.java} | 15 +-
.../camel-k-quarkus-loader-js/it/pom.xml | 3 +-
.../it/src/main/resources/application.properties | 9 +-
.../camel-k-quarkus-loader-xml/deployment/pom.xml | 4 +
.../camel-k-quarkus-loader-xml/it/pom.xml | 3 +-
.../it/src/main/resources/application.properties | 11 --
.../camel-k-quarkus-loader-xml/runtime/pom.xml | 2 +-
.../camel-k-quarkus-loader-yaml/it/pom.xml | 3 +-
.../it/src/main/resources/application.properties | 8 +-
.../apache/camel/k/quarkus/ApplicationRuntime.java | 105 -------------
.../ApplicationRuntimeConfigSourceProvider.java | 2 +-
camel-k-runtime-core/pom.xml | 5 -
.../src/main/java/org/apache/camel/k/Runtime.java | 6 +-
.../apache/camel/k/support/PropertiesSupport.java | 15 +-
.../org/apache/camel/k/support/RuntimeSupport.java | 18 +--
.../apache/camel/k/support/RuntimeSupportTest.java | 20 +--
camel-k-runtime-health/pom.xml | 5 -
camel-k-runtime-knative/pom.xml | 6 -
camel-k-runtime-main/pom.xml | 5 -
.../java/org/apache/camel/k/main/Application.java | 4 +-
.../apache/camel/k/main/ApplicationRuntime.java | 77 +++++++---
camel-k-runtime-servlet/pom.xml | 5 -
.../knative/spi/CloudEventTypeConverter.java | 2 +-
camel-knative/camel-knative-http/pom.xml | 5 -
camel-knative/camel-knative/pom.xml | 5 -
.../src/main/resources/application.properties | 12 +-
.../src/main/resources/application.properties | 7 +-
.../camel-k-runtime-example-quarkus-js/pom.xml | 5 +-
.../src/main/resources/application.properties | 16 +-
.../pom.xml | 5 +-
.../src/main/resources/application.properties | 9 +-
.../camel-k-runtime-example-quarkus-yaml/pom.xml | 5 +-
.../src/main/resources/application.properties | 16 +-
.../src/main/resources/application.properties | 14 +-
examples/camel-k-runtime-example-yaml/pom.xml | 2 +-
.../resources/{ => conf}/application.properties | 7 +-
pom.xml | 44 +++++-
tooling/camel-k-maven-plugin/pom.xml | 2 +-
.../maven/processors/CatalogProcessor3x.java | 2 -
51 files changed, 445 insertions(+), 357 deletions(-)
diff --git a/camel-k-loader-groovy/pom.xml b/camel-k-loader-groovy/pom.xml
index 2cb5d6f..7e2210a 100644
--- a/camel-k-loader-groovy/pom.xml
+++ b/camel-k-loader-groovy/pom.xml
@@ -94,21 +94,6 @@
<artifactId>camel-direct</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-bean</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-jackson</artifactId>
- <scope>test</scope>
- </dependency>
<!-- ******************************* -->
<!-- test deps :: misc -->
diff --git a/camel-k-loader-java/pom.xml b/camel-k-loader-java/pom.xml
index 11dccea..a20fc92 100644
--- a/camel-k-loader-java/pom.xml
+++ b/camel-k-loader-java/pom.xml
@@ -88,11 +88,6 @@
<artifactId>camel-direct</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git a/camel-k-loader-js/pom.xml b/camel-k-loader-js/pom.xml
index 488b7a0..67f3e0a 100644
--- a/camel-k-loader-js/pom.xml
+++ b/camel-k-loader-js/pom.xml
@@ -84,11 +84,6 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-main</artifactId>
<scope>test</scope>
</dependency>
diff --git a/camel-k-loader-knative/pom.xml b/camel-k-loader-knative/pom.xml
index 00462e0..840d2cb 100644
--- a/camel-k-loader-knative/pom.xml
+++ b/camel-k-loader-knative/pom.xml
@@ -86,11 +86,6 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-direct</artifactId>
<scope>test</scope>
</dependency>
diff --git a/camel-k-loader-kotlin/pom.xml b/camel-k-loader-kotlin/pom.xml
index 58cafa3..4490b3e 100644
--- a/camel-k-loader-kotlin/pom.xml
+++ b/camel-k-loader-kotlin/pom.xml
@@ -99,11 +99,6 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-main</artifactId>
<scope>test</scope>
</dependency>
diff --git a/camel-k-loader-xml/pom.xml b/camel-k-loader-xml/pom.xml
index 4f19005..c28e767 100644
--- a/camel-k-loader-xml/pom.xml
+++ b/camel-k-loader-xml/pom.xml
@@ -82,11 +82,6 @@
<artifactId>camel-direct</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git a/camel-k-loader-yaml/pom.xml b/camel-k-loader-yaml/pom.xml
index 147464d..3da8fbc 100644
--- a/camel-k-loader-yaml/pom.xml
+++ b/camel-k-loader-yaml/pom.xml
@@ -75,11 +75,6 @@
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-mock</artifactId>
<scope>test</scope>
</dependency>
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 fb85aca..127fed1 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,10 +16,23 @@
*/
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;
+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 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;
+import org.apache.camel.spi.StreamCachingStrategy;
import org.jboss.jandex.IndexView;
import static org.apache.camel.k.core.quarkus.deployment.DeploymentSupport.getAllKnownImplementors;
@@ -28,12 +41,13 @@ public class DeploymentProcessor {
@BuildStep
void registerServices(
BuildProducer<ServiceProviderBuildItem> serviceProvider,
+ BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
CombinedIndexBuildItem combinedIndexBuildItem) {
final IndexView view = combinedIndexBuildItem.getIndex();
final String serviceType = "org.apache.camel.k.Runtime$Listener";
- getAllKnownImplementors(view, serviceType).forEach(i-> {
+ getAllKnownImplementors(view, serviceType).forEach(i -> {
serviceProvider.produce(
new ServiceProviderBuildItem(
serviceType,
@@ -41,4 +55,68 @@ public class DeploymentProcessor {
);
});
}
+
+ @BuildStep
+ void registerStreamCachingClasses(
+ BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
+ CombinedIndexBuildItem combinedIndexBuildItem) {
+
+ final IndexView view = combinedIndexBuildItem.getIndex();
+
+ getAllKnownImplementors(view, StreamCachingStrategy.class).forEach(i-> {
+ reflectiveClass.produce(
+ new ReflectiveClassBuildItem(
+ true,
+ true,
+ i.name().toString())
+ );
+ });
+ getAllKnownImplementors(view, StreamCachingStrategy.Statistics.class).forEach(i-> {
+ reflectiveClass.produce(
+ new ReflectiveClassBuildItem(
+ true,
+ true,
+ i.name().toString())
+ );
+ });
+ getAllKnownImplementors(view, StreamCachingStrategy.SpoolRule.class).forEach(i-> {
+ reflectiveClass.produce(
+ new ReflectiveClassBuildItem(
+ true,
+ true,
+ i.name().toString())
+ );
+ });
+
+ reflectiveClass.produce(
+ new ReflectiveClassBuildItem(
+ true,
+ true,
+ StreamCachingStrategy.SpoolRule.class)
+ );
+ }
+
+ @Record(ExecutionTime.RUNTIME_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 on quarkus side
+ //PropertiesSupport.bindProperties(getCamelContext(), listener, id);
+ }
+
+ listeners.add(listener);
+ });
+
+ RuntimeListenerAdapter adapter = new RuntimeListenerAdapter();
+ adapter.setListeners(listeners);
+
+ return new CamelMainListenerBuildItem(adapter);
+ }
}
diff --git a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/devmode/HotDeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/devmode/HotDeploymentProcessor.java
index 5a99894..7bc896a 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/devmode/HotDeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/devmode/HotDeploymentProcessor.java
@@ -56,8 +56,11 @@ public class HotDeploymentProcessor {
path = source;
}
- LOGGER.info("Register source for hot deployment: {}", path);
- items.add(new HotDeploymentWatchedFileBuildItem(path));
+ Path p = Paths.get(path);
+ if (Files.exists(p)) {
+ LOGGER.info("Register source for hot deployment: {}", p.toAbsolutePath());
+ items.add(new HotDeploymentWatchedFileBuildItem(p.toAbsolutePath().toString()));
+ }
}
}
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml
index b4ee856..d9182ad 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml
@@ -129,8 +129,7 @@
<goal>native-image</goal>
</goals>
<configuration>
- <dockerBuild>true</dockerBuild>
- <containerRuntime>docker</containerRuntime>
+ <disableReports>true</disableReports>
</configuration>
</execution>
</executions>
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties
index 0a49e8e..91d5d75 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties
@@ -21,17 +21,10 @@ quarkus.log.file.enable = false
quarkus.log.console.enable = false
#
-# Quarkus :: Camel
-#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
-
-#
# Camel
#
camel.context.name = camel-k-quarkus-ctx
#
# Integration
-#
\ No newline at end of file
+#
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
new file mode 100644
index 0000000..50662f2
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.k.core.quarkus;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.k.Runtime;
+import org.apache.camel.main.BaseMainSupport;
+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);
+
+ private final List<Runtime.Listener> listeners;
+
+ public RuntimeListenerAdapter() {
+ this.listeners = new ArrayList<>();
+ }
+
+ public void setListeners(List<Runtime.Listener> listeners) {
+ this.listeners.clear();
+ this.listeners.addAll(listeners);
+ }
+
+ public List<Runtime.Listener> getListeners() {
+ return Collections.unmodifiableList(listeners);
+ }
+
+ @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);
+ }
+
+ @Override
+ public void configure(CamelContext context) {
+ invokeListeners(Runtime.of(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);
+ }
+
+ @Override
+ public void beforeStop(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.Stopping);
+ }
+
+ @Override
+ public void afterStop(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.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-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
similarity index 59%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
rename to camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
index 7e041ec..33a2bba 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeRecorder.java
@@ -14,17 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.k.loader.xml.quarkus.deployment;
+package org.apache.camel.k.core.quarkus;
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
-import org.apache.camel.converter.jaxp.XmlConverter;
+import io.quarkus.runtime.annotations.Recorder;
-public class DeploymentProcessor {
- @BuildStep
- void registerReflectiveClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
- reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, XmlConverter.class));
- }
+@Recorder
+public class RuntimeRecorder {
}
-
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml
index 887bb5e..2d20f79 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml
@@ -142,8 +142,7 @@
<goal>native-image</goal>
</goals>
<configuration>
- <dockerBuild>true</dockerBuild>
- <containerRuntime>docker</containerRuntime>
+ <disableReports>true</disableReports>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
<enableAllSecurityServices>true</enableAllSecurityServices>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
index 0a49e8e..91d5d75 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
@@ -21,17 +21,10 @@ quarkus.log.file.enable = false
quarkus.log.console.enable = false
#
-# Quarkus :: Camel
-#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
-
-#
# Camel
#
camel.context.name = camel-k-quarkus-ctx
#
# Integration
-#
\ No newline at end of file
+#
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 7bd12fa..99b4bf2 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
@@ -48,6 +48,10 @@
<groupId>org.apache.camel.k</groupId>
<artifactId>camel-k-quarkus-core-deployment</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml
index 185d6ee..5a75321 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml
@@ -142,8 +142,7 @@
<goal>native-image</goal>
</goals>
<configuration>
- <dockerBuild>true</dockerBuild>
- <containerRuntime>docker</containerRuntime>
+ <disableReports>true</disableReports>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
<enableAllSecurityServices>true</enableAllSecurityServices>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
index 35a2894..876ce6b 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
@@ -21,17 +21,6 @@ quarkus.log.file.enable = false
quarkus.log.console.enable = false
#
-# Quarkus :: Camel
-#
-quarkus.camel.disable-xml = false
-quarkus.camel.disable-jaxb = false
-quarkus.camel.dump-routes = true
-
-#
# Camel
#
camel.context.name = camel-k-quarkus-ctx
-
-#
-# Integration
-#
\ 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 cfda4c2..460d8be 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
@@ -42,7 +42,7 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-xml-common</artifactId>
+ <artifactId>camel-quarkus-core-xml</artifactId>
</dependency>
</dependencies>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml
index 83e6883..bc2cb0f 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml
@@ -142,8 +142,7 @@
<goal>native-image</goal>
</goals>
<configuration>
- <dockerBuild>true</dockerBuild>
- <containerRuntime>docker</containerRuntime>
+ <disableReports>true</disableReports>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
<enableAllSecurityServices>true</enableAllSecurityServices>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
index 0a49e8e..a8f86e9 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
@@ -20,12 +20,6 @@
quarkus.log.file.enable = false
quarkus.log.console.enable = false
-#
-# Quarkus :: Camel
-#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
#
# Camel
@@ -34,4 +28,4 @@ camel.context.name = camel-k-quarkus-ctx
#
# Integration
-#
\ No newline at end of file
+#
diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntime.java b/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntime.java
deleted file mode 100644
index e8a0e7a..0000000
--- a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntime.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.quarkus;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ServiceLoader;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.inject.Inject;
-
-import io.quarkus.runtime.StartupEvent;
-import org.apache.camel.CamelContext;
-import org.apache.camel.k.Runtime;
-import org.apache.camel.k.support.PropertiesSupport;
-import org.apache.camel.quarkus.core.runtime.CamelRuntime;
-import org.apache.camel.quarkus.core.runtime.StartedEvent;
-import org.apache.camel.quarkus.core.runtime.StartingEvent;
-import org.apache.camel.quarkus.core.runtime.StoppedEvent;
-import org.apache.camel.quarkus.core.runtime.StoppingEvent;
-import org.apache.camel.spi.HasId;
-import org.apache.camel.spi.Registry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@ApplicationScoped
-public class ApplicationRuntime implements Runtime {
- private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationRuntime.class);
-
- @Inject
- CamelRuntime runtime;
-
- private List<Listener> listeners = new ArrayList<>();
-
- public void startup(@Observes StartupEvent event) {
- LOGGER.info("Quarkus startup");
- }
-
- public void starting(@Observes StartingEvent event) {
- LOGGER.info("Camel starting");
-
- listeners.clear();
-
- //
- // Load and configure listeners
- //
- ServiceLoader.load(Runtime.Listener.class).forEach(l -> {
- if (l instanceof HasId) {
- String id = ((HasId) l).getId();
- if (!id.endsWith(".")) {
- id = id + ".";
- }
-
- PropertiesSupport.bindProperties(getCamelContext(), l, id);
- }
-
- LOGGER.info("Adding listener: {}", l.getClass());
- listeners.add(l);
- });
-
- listeners.forEach(l -> l.accept(Phase.Starting, this));
- listeners.forEach(l -> l.accept(Phase.ConfigureContext, this));
- listeners.forEach(l -> l.accept(Phase.ConfigureRoutes, this));
- }
-
- public void started(@Observes StartedEvent event) {
- LOGGER.info("Camel started");
- listeners.forEach(l -> l.accept(Phase.Started, this));
- }
-
- public void stopping(@Observes StoppingEvent event) {
- LOGGER.info("Camel stopping");
- listeners.forEach(l -> l.accept(Phase.Stopping, this));
- }
-
- public void stopped(@Observes StoppedEvent event) {
- LOGGER.info("Camel stopped");
- listeners.forEach(l -> l.accept(Phase.Stopped, this));
- }
-
- @Override
- public CamelContext getCamelContext() {
- return runtime.getContext();
- }
-
- @Override
- public Registry getRegistry() {
- return runtime.getRegistry();
- }
-
-}
diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntimeConfigSourceProvider.java b/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntimeConfigSourceProvider.java
index 56f747e..dbe80cd 100644
--- a/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntimeConfigSourceProvider.java
+++ b/camel-k-quarkus/camel-k-runtime-quarkus/runtime/src/main/java/org/apache/camel/k/quarkus/ApplicationRuntimeConfigSourceProvider.java
@@ -39,7 +39,7 @@ public class ApplicationRuntimeConfigSourceProvider implements ConfigSourceProvi
final List<ConfigSource> sources = new ArrayList<>();
try {
- for (String location : PropertiesSupport.resolvePropertiesLocation(conf, confd)) {
+ for (String location : PropertiesSupport.resolvePropertiesLocations(conf, confd)) {
LOGGER.info("Register properties location: {}", location);
sources.add(
diff --git a/camel-k-runtime-core/pom.xml b/camel-k-runtime-core/pom.xml
index 72eeea9..a8d11b8 100644
--- a/camel-k-runtime-core/pom.xml
+++ b/camel-k-runtime-core/pom.xml
@@ -46,11 +46,6 @@
<artifactId>camel-core-engine</artifactId>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
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 c90fb5c..3097bb7 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
@@ -23,7 +23,6 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Ordered;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.spi.HasCamelContext;
import org.apache.camel.spi.Registry;
@@ -36,10 +35,7 @@ public interface Runtime extends HasCamelContext {
}
default void setProperties(Properties properties) {
- PropertiesComponent pc = new PropertiesComponent();
- pc.setOverrideProperties(properties);
-
- getRegistry().bind("properties", pc);
+ getCamelContext().getPropertiesComponent().setOverrideProperties(properties);
}
default void setProperties(Map<String, String> properties) {
diff --git a/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/PropertiesSupport.java b/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/PropertiesSupport.java
index a75c851..2e94ead 100644
--- a/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/PropertiesSupport.java
+++ b/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/PropertiesSupport.java
@@ -33,8 +33,8 @@ import java.util.Properties;
import java.util.Set;
import org.apache.camel.CamelContext;
-import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.k.Constants;
+import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.support.PropertyBindingSupport;
import org.apache.camel.util.ObjectHelper;
import org.apache.commons.io.FilenameUtils;
@@ -45,7 +45,7 @@ public final class PropertiesSupport {
@SuppressWarnings("unchecked")
public static boolean bindProperties(CamelContext context, Object target, String prefix) {
- final PropertiesComponent component = context.getComponent("properties", PropertiesComponent.class);
+ final PropertiesComponent component = context.getPropertiesComponent();
final Properties properties = component.loadProperties(k -> k.startsWith(prefix));
return PropertyBindingSupport.build()
@@ -66,7 +66,7 @@ public final class PropertiesSupport {
public static Properties loadProperties(String conf, String confd) {
final Properties properties = new Properties();
- final Collection<String> locations = resolvePropertiesLocation(conf, confd);
+ final Collection<String> locations = resolvePropertiesLocations(conf, confd);
try {
for (String location: locations) {
@@ -81,7 +81,14 @@ public final class PropertiesSupport {
return properties;
}
- public static Collection<String> resolvePropertiesLocation(String conf, String confd) {
+ public static Collection<String> resolvePropertiesLocations() {
+ return resolvePropertiesLocations(
+ System.getProperty(Constants.PROPERTY_CAMEL_K_CONF, System.getenv(Constants.ENV_CAMEL_K_CONF)),
+ System.getProperty(Constants.PROPERTY_CAMEL_K_CONF_D, System.getenv(Constants.ENV_CAMEL_K_CONF_D))
+ );
+ }
+
+ public static Collection<String> resolvePropertiesLocations(String conf, String confd) {
final Set<String> locations = new LinkedHashSet<>();
// Main location
diff --git a/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/RuntimeSupport.java b/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/RuntimeSupport.java
index 3bf5be1..52012ce 100644
--- a/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/RuntimeSupport.java
+++ b/camel-k-runtime-core/src/main/java/org/apache/camel/k/support/RuntimeSupport.java
@@ -29,7 +29,6 @@ import java.util.regex.Pattern;
import org.apache.camel.CamelContext;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
-import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.k.Constants;
import org.apache.camel.k.ContextCustomizer;
import org.apache.camel.k.RoutesLoader;
@@ -71,9 +70,7 @@ public final class RuntimeSupport {
public static Map<String, ContextCustomizer> lookupCustomizers(CamelContext context) {
Map<String, ContextCustomizer> customizers = new ConcurrentHashMap<>();
-
- PropertiesComponent component = context.getComponent("properties", PropertiesComponent.class);
- Properties properties = component.loadProperties();
+ Properties properties = context.getPropertiesComponent().loadProperties(n -> n.startsWith("customizer."));
if (properties != null) {
//
@@ -118,7 +115,7 @@ public final class RuntimeSupport {
.newInstance(customizerId, ContextCustomizer.class)
.orElseThrow(() -> new RuntimeException("Error creating instance for customizer: " + customizerId));
- LOGGER.info("Found customizer {} with id {} rom service definition", customizer, customizerId);
+ LOGGER.info("Found customizer {} with id {} from service definition", customizer, customizerId);
} catch (NoFactoryAvailableException e) {
throw new RuntimeException(e);
}
@@ -134,12 +131,11 @@ public final class RuntimeSupport {
String customizerIDs = System.getenv().getOrDefault(Constants.ENV_CAMEL_K_CUSTOMIZERS, "");
if (ObjectHelper.isEmpty(customizerIDs)) {
- PropertiesComponent component = context.getComponent("properties", PropertiesComponent.class);
- Properties properties = component.getInitialProperties();
-
- if (properties != null) {
- customizerIDs = properties.getProperty(Constants.PROPERTY_CAMEL_K_CUSTOMIZER, "");
- }
+ // TODO: getPropertiesComponent().resolveProperty() throws exception instead
+ // of returning abd empty optional
+ customizerIDs = context.getPropertiesComponent()
+ .loadProperties(Constants.PROPERTY_CAMEL_K_CUSTOMIZER::equals)
+ .getProperty(Constants.PROPERTY_CAMEL_K_CUSTOMIZER, "");
}
if (ObjectHelper.isNotEmpty(customizerIDs)) {
diff --git a/camel-k-runtime-core/src/test/java/org/apache/camel/k/support/RuntimeSupportTest.java b/camel-k-runtime-core/src/test/java/org/apache/camel/k/support/RuntimeSupportTest.java
index ace7e8f..bb424a2 100644
--- a/camel-k-runtime-core/src/test/java/org/apache/camel/k/support/RuntimeSupportTest.java
+++ b/camel-k-runtime-core/src/test/java/org/apache/camel/k/support/RuntimeSupportTest.java
@@ -21,7 +21,6 @@ import java.util.Properties;
import org.apache.camel.CamelContext;
import org.apache.camel.Ordered;
-import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.engine.ExplicitCamelContextNameStrategy;
import org.apache.camel.k.Constants;
@@ -34,9 +33,7 @@ public class RuntimeSupportTest {
@Test
public void testLoadCustomizersWithPropertiesFlags() {
- PropertiesComponent pc = new PropertiesComponent();
CamelContext context = new DefaultCamelContext();
- context.addComponent("properties", pc);
NameCustomizer customizer = new NameCustomizer("from-registry");
context.getRegistry().bind("name", customizer);
@@ -48,7 +45,7 @@ public class RuntimeSupportTest {
Properties properties = new Properties();
properties.setProperty("customizer.name.enabled", "true");
- pc.setInitialProperties(properties);
+ context.getPropertiesComponent().setInitialProperties(properties);
customizers = RuntimeSupport.configureContextCustomizers(context);
assertThat(context.getName()).isEqualTo("from-registry");
@@ -57,9 +54,7 @@ public class RuntimeSupportTest {
@Test
public void testLoadCustomizersWithList() {
- PropertiesComponent pc = new PropertiesComponent();
CamelContext context = new DefaultCamelContext();
- context.addComponent("properties", pc);
NameCustomizer customizer = new NameCustomizer("from-registry");
context.getRegistry().bind("name", customizer);
@@ -71,7 +66,7 @@ public class RuntimeSupportTest {
Properties properties = new Properties();
properties.setProperty(Constants.PROPERTY_CAMEL_K_CUSTOMIZER, "name");
- pc.setInitialProperties(properties);
+ context.getPropertiesComponent().setInitialProperties(properties);
customizers = RuntimeSupport.configureContextCustomizers(context);
assertThat(context.getName()).isEqualTo("from-registry");
@@ -80,9 +75,7 @@ public class RuntimeSupportTest {
@Test
public void testLoadCustomizers() {
- PropertiesComponent pc = new PropertiesComponent();
CamelContext context = new DefaultCamelContext();
- context.addComponent("properties", pc);
context.getRegistry().bind("converters", (ContextCustomizer) (camelContext) -> camelContext.setLoadTypeConverters(false));
List<ContextCustomizer> customizers = RuntimeSupport.configureContextCustomizers(context);
@@ -93,14 +86,14 @@ public class RuntimeSupportTest {
Properties properties = new Properties();
properties.setProperty("customizer.name.enabled", "true");
- pc.setInitialProperties(properties);
+ context.getPropertiesComponent().setInitialProperties(properties);
customizers = RuntimeSupport.configureContextCustomizers(context);
assertThat(context.getName()).isEqualTo("default");
assertThat(customizers).hasSize(1);
properties.setProperty("customizer.converters.enabled", "true");
- pc.setInitialProperties(properties);
+ context.getPropertiesComponent().setInitialProperties(properties);
customizers = RuntimeSupport.configureContextCustomizers(context);
assertThat(context.getName()).isEqualTo("default");
@@ -110,10 +103,8 @@ public class RuntimeSupportTest {
@Test
public void testLoadCustomizerOrder() {
- PropertiesComponent pc = new PropertiesComponent();
DefaultCamelContext context = new DefaultCamelContext();
context.setName("camel");
- context.addComponent("properties", pc);
context.getRegistry().bind("c1", new ContextCustomizer() {
@Override
public int getOrder() {
@@ -147,7 +138,8 @@ public class RuntimeSupportTest {
properties.setProperty("customizer.c1.enabled", "true");
properties.setProperty("customizer.c2.enabled", "true");
properties.setProperty("customizer.c3.enabled", "true");
- pc.setInitialProperties(properties);
+
+ context.getPropertiesComponent().setInitialProperties(properties);
List<ContextCustomizer> customizers = RuntimeSupport.configureContextCustomizers(context);
assertThat(customizers).hasSize(3);
diff --git a/camel-k-runtime-health/pom.xml b/camel-k-runtime-health/pom.xml
index 0c0d359..34ffae4 100644
--- a/camel-k-runtime-health/pom.xml
+++ b/camel-k-runtime-health/pom.xml
@@ -60,11 +60,6 @@
<artifactId>camel-test</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git a/camel-k-runtime-knative/pom.xml b/camel-k-runtime-knative/pom.xml
index fb248d8..30f886f 100644
--- a/camel-k-runtime-knative/pom.xml
+++ b/camel-k-runtime-knative/pom.xml
@@ -60,12 +60,6 @@
<!-- ****************************** -->
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.version}</version>
diff --git a/camel-k-runtime-main/pom.xml b/camel-k-runtime-main/pom.xml
index b5649b3..0151c58 100644
--- a/camel-k-runtime-main/pom.xml
+++ b/camel-k-runtime-main/pom.xml
@@ -101,11 +101,6 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-endpointdsl</artifactId>
<scope>test</scope>
</dependency>
diff --git a/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/Application.java b/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/Application.java
index f5cc571..8d6aebe 100644
--- a/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/Application.java
+++ b/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/Application.java
@@ -19,7 +19,6 @@ package org.apache.camel.k.main;
import java.util.ServiceLoader;
import org.apache.camel.k.Runtime;
-import org.apache.camel.k.support.PropertiesSupport;
public final class Application {
static {
@@ -27,7 +26,7 @@ public final class Application {
// Configure the logging subsystem log4j2 using a subset of spring boot
// conventions:
//
- // logging.level.${nane} = OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE|ALL
+ // logging.level.${name} = OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE|ALL
//
// We now support setting the logging level only
//
@@ -39,7 +38,6 @@ public final class Application {
public static void main(String[] args) throws Exception {
ApplicationRuntime runtime = new ApplicationRuntime();
- runtime.setProperties(PropertiesSupport.loadProperties());
runtime.addListeners(ServiceLoader.load(Runtime.Listener.class));
runtime.run();
}
diff --git a/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java b/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
index 43830aa..b91f7d5 100644
--- a/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
+++ b/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
@@ -20,15 +20,16 @@ import java.util.Comparator;
import java.util.LinkedHashSet;
import java.util.Properties;
import java.util.Set;
+import java.util.stream.Collectors;
import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.k.Runtime;
import org.apache.camel.k.support.PropertiesSupport;
-import org.apache.camel.main.Main;
+import org.apache.camel.main.BaseMainSupport;
import org.apache.camel.main.MainSupport;
import org.apache.camel.spi.HasId;
import org.apache.camel.util.function.ThrowingConsumer;
@@ -38,7 +39,7 @@ import org.slf4j.LoggerFactory;
public final class ApplicationRuntime implements Runtime {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationRuntime.class);
- private final Main main;
+ private final MainSupport main;
private final DefaultCamelContext context;
private final Set<Runtime.Listener> listeners;
@@ -49,7 +50,15 @@ public final class ApplicationRuntime implements Runtime {
this.context.setName("camel-k");
this.main = new MainAdapter();
+ this.main.configure().setXmlRoutes("false");
+ this.main.configure().setXmlRests("false");
this.main.addMainListener(new MainListenerAdapter());
+
+ this.main.setPropertyPlaceholderLocations(
+ PropertiesSupport.resolvePropertiesLocations().stream()
+ .map(location -> "file:" + location)
+ .collect(Collectors.joining(","))
+ );
}
@Override
@@ -57,15 +66,6 @@ public final class ApplicationRuntime implements Runtime {
return this.context;
}
- @Override
- public void addRoutes(RoutesBuilder builder) {
- if (builder instanceof RouteBuilder) {
- this.main.addRouteBuilder((RouteBuilder) builder);
- } else {
- Runtime.super.addRoutes(builder);
- }
- }
-
public void run() throws Exception {
this.main.run();
}
@@ -75,6 +75,11 @@ public final class ApplicationRuntime implements Runtime {
}
@Override
+ public void addRoutes(RoutesBuilder builder) {
+ this.main.addRoutesBuilder(builder);
+ }
+
+ @Override
public void setProperties(Properties properties) {
this.main.setOverrideProperties(properties);
}
@@ -115,7 +120,7 @@ public final class ApplicationRuntime implements Runtime {
private final class MainListenerAdapter implements org.apache.camel.main.MainListener {
@Override
- public void beforeStart(MainSupport main) {
+ public void beforeStart(BaseMainSupport main) {
invokeListeners(Phase.Starting);
invokeListeners(Phase.ConfigureRoutes);
}
@@ -126,17 +131,17 @@ public final class ApplicationRuntime implements Runtime {
}
@Override
- public void afterStart(MainSupport main) {
+ public void afterStart(BaseMainSupport main) {
invokeListeners(Phase.Started);
}
@Override
- public void beforeStop(MainSupport main) {
+ public void beforeStop(BaseMainSupport main) {
invokeListeners(Phase.Stopping);
}
@Override
- public void afterStop(MainSupport main) {
+ public void afterStop(BaseMainSupport main) {
invokeListeners(Phase.Stopped);
}
@@ -151,11 +156,49 @@ public final class ApplicationRuntime implements Runtime {
}
}
- private final class MainAdapter extends Main {
+ private final class MainAdapter extends MainSupport {
@Override
protected CamelContext createCamelContext() {
return ApplicationRuntime.this.context;
}
+
+ @Override
+ protected void doInit() throws Exception {
+ super.doInit();
+ initCamelContext();
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ super.doStart();
+ if (getCamelContext() != null) {
+ try {
+ // if we were veto started then mark as completed
+ getCamelContext().start();
+ } finally {
+ if (getCamelContext().isVetoStarted()) {
+ completed();
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ super.doStop();
+ if (getCamelContext() != null) {
+ getCamelContext().stop();
+ }
+ }
+
+ @Override
+ protected ProducerTemplate findOrCreateCamelTemplate() {
+ if (getCamelContext() != null) {
+ return getCamelContext().createProducerTemplate();
+ } else {
+ return null;
+ }
+ }
}
}
diff --git a/camel-k-runtime-servlet/pom.xml b/camel-k-runtime-servlet/pom.xml
index 6b13ddb..870cd8e 100644
--- a/camel-k-runtime-servlet/pom.xml
+++ b/camel-k-runtime-servlet/pom.xml
@@ -76,11 +76,6 @@
<artifactId>camel-test</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git a/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/CloudEventTypeConverter.java b/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/CloudEventTypeConverter.java
index f0234b3..4477c52 100644
--- a/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/CloudEventTypeConverter.java
+++ b/camel-knative/camel-knative-api/src/main/java/org/apache/camel/component/knative/spi/CloudEventTypeConverter.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.knative.spi;
import org.apache.camel.Converter;
-@Converter(loader = true)
+@Converter(generateLoader = true)
public final class CloudEventTypeConverter {
private CloudEventTypeConverter() {
}
diff --git a/camel-knative/camel-knative-http/pom.xml b/camel-knative/camel-knative-http/pom.xml
index e70584d..1b45fa1 100644
--- a/camel-knative/camel-knative-http/pom.xml
+++ b/camel-knative/camel-knative-http/pom.xml
@@ -100,11 +100,6 @@
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-mock</artifactId>
<scope>test</scope>
</dependency>
diff --git a/camel-knative/camel-knative/pom.xml b/camel-knative/camel-knative/pom.xml
index c731e6d..4b0b493 100644
--- a/camel-knative/camel-knative/pom.xml
+++ b/camel-knative/camel-knative/pom.xml
@@ -131,11 +131,6 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-properties</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
<artifactId>camel-undertow</artifactId>
<scope>test</scope>
</dependency>
diff --git a/examples/camel-k-runtime-example-health/src/main/resources/application.properties b/examples/camel-k-runtime-example-health/src/main/resources/application.properties
index 48f8c28..2e302fb 100644
--- a/examples/camel-k-runtime-example-health/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-health/src/main/resources/application.properties
@@ -14,10 +14,18 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
+
+#
+# Logging
+#
+logging.level.org.apache.camel.k = DEBUG
+
#
-# Camel
+# camel - main
#
-camel.context.streamCaching = true
+camel.main.name = camel-k
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
#
# Camel K
diff --git a/examples/camel-k-runtime-example-knative/src/main/resources/application.properties b/examples/camel-k-runtime-example-knative/src/main/resources/application.properties
index 4682185..85a8fe9 100644
--- a/examples/camel-k-runtime-example-knative/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-knative/src/main/resources/application.properties
@@ -14,15 +14,18 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
+
#
# Logging
#
logging.level.org.apache.camel.k = DEBUG
#
-# Camel
+# camel - main
#
-camel.context.stream-caching = true
+camel.main.name = camel-k
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
#
# Camel - components
diff --git a/examples/camel-k-runtime-example-quarkus-js/pom.xml b/examples/camel-k-runtime-example-quarkus-js/pom.xml
index 5853de1..df63941 100644
--- a/examples/camel-k-runtime-example-quarkus-js/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-js/pom.xml
@@ -123,10 +123,6 @@
<name>native</name>
</property>
</activation>
- <properties>
- <native-image.container-runtime>docker</native-image.container-runtime>
- <native-image.docker-build>true</native-image.docker-build>
- </properties>
<build>
<plugins>
<plugin>
@@ -142,6 +138,7 @@
<finalName>${project.artifactId}</finalName>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
+ <disableReports>true</disableReports>
<additionalBuildArgs>
<additionalBuildArg>--language:js</additionalBuildArg>
</additionalBuildArgs>
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 271e69b..c543799 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
@@ -24,16 +24,8 @@ quarkus.log.level = INFO
quarkus.log.category."org.apache.camel".level = INFO
#
-# camel - quarkus
+# camel - main
#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
-
-
-#
-# 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.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/pom.xml b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
index 2cbd59b..650d64d 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
@@ -125,10 +125,6 @@
<name>native</name>
</property>
</activation>
- <properties>
- <native-image.container-runtime>docker</native-image.container-runtime>
- <native-image.docker-build>true</native-image.docker-build>
- </properties>
<build>
<plugins>
<plugin>
@@ -144,6 +140,7 @@
<finalName>${project.artifactId}</finalName>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
+ <disableReports>true</disableReports>
</configuration>
</execution>
</executions>
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 52a1e29..8ddef31 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
@@ -26,9 +26,10 @@ quarkus.log.console.level = INFO
quarkus.log.category."org.apache.camel.quarkus".level = DEBUG
#
-# camel - quarkus
+# camel - main
#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
+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-yaml/pom.xml b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
index 6baef94..46154f6 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
@@ -132,10 +132,6 @@
<name>native</name>
</property>
</activation>
- <properties>
- <native-image.container-runtime>docker</native-image.container-runtime>
- <native-image.docker-build>true</native-image.docker-build>
- </properties>
<build>
<plugins>
<plugin>
@@ -151,6 +147,7 @@
<finalName>${project.artifactId}</finalName>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableJni>true</enableJni>
+ <disableReports>true</disableReports>
</configuration>
</execution>
</executions>
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 271e69b..6e9048b 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
@@ -24,16 +24,8 @@ quarkus.log.level = INFO
quarkus.log.category."org.apache.camel".level = INFO
#
-# camel - quarkus
+# camel - main
#
-quarkus.camel.disable-xml = true
-quarkus.camel.disable-jaxb = true
-quarkus.camel.dump-routes = true
-
-
-#
-# 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.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/examples/camel-k-runtime-example-servlet/src/main/resources/application.properties b/examples/camel-k-runtime-example-servlet/src/main/resources/application.properties
index e7daa91..08f0a0c 100644
--- a/examples/camel-k-runtime-example-servlet/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-servlet/src/main/resources/application.properties
@@ -14,14 +14,22 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
+
+#
+# Logging
+#
+logging.level.org.apache.camel.k = DEBUG
+
#
-# Camel
+# camel - main
#
-camel.context.streamCaching = true
+camel.main.name = camel-k
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
#
# Camel K
#
customizer.servletregistration.enabled = true
customizer.servletregistration.path = /mypath/*
-customizer.servlet.enabled = true
\ No newline at end of file
+customizer.servlet.enabled = true
diff --git a/examples/camel-k-runtime-example-yaml/pom.xml b/examples/camel-k-runtime-example-yaml/pom.xml
index ace2810..e0cfd1c 100644
--- a/examples/camel-k-runtime-example-yaml/pom.xml
+++ b/examples/camel-k-runtime-example-yaml/pom.xml
@@ -93,7 +93,7 @@
<systemProperties>
<systemProperty>
<key>camel.k.conf</key>
- <value>${project.basedir}/src/main/resources/application.properties</value>
+ <value>${project.basedir}/src/main/resources/conf/application.properties</value>
</systemProperty>
<systemProperty>
<key>camel.k.routes</key>
diff --git a/examples/camel-k-runtime-example-yaml/src/main/resources/application.properties b/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
similarity index 86%
rename from examples/camel-k-runtime-example-yaml/src/main/resources/application.properties
rename to examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
index 1d38fc2..7209cae 100644
--- a/examples/camel-k-runtime-example-yaml/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-yaml/src/main/resources/conf/application.properties
@@ -14,15 +14,18 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
+
#
# Logging
#
logging.level.org.apache.camel.k = DEBUG
#
-# Camel
+# camel - main
#
-camel.context.stream-caching = true
+camel.main.name = camel-k
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-k
#
# Camel REST
diff --git a/pom.xml b/pom.xml
index 0f300ba..29d5638 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,10 +35,9 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
- <camel.version>3.0.0-RC1</camel.version>
- <camel-quarkus.version>0.2.0</camel-quarkus.version>
+ <camel.version>3.0.0-RC3</camel.version>
+ <camel-quarkus.version>0.3.0</camel-quarkus.version>
<catalog.version>${camel.version}</catalog.version>
- <quarkus.catalog.version>0.2.1-SNAPSHOT</quarkus.catalog.version>
<junit.version>5.5.2</junit.version>
<joor.version>0.9.12</joor.version>
<commons-io.version>2.6</commons-io.version>
@@ -59,8 +58,8 @@
<semver4j.version>3.1.0</semver4j.version>
<undertow.version>1.4.26.Final</undertow.version>
<vertx.version>3.8.1</vertx.version>
- <graalvm.version>19.1.1</graalvm.version>
- <quarkus.version>0.21.2</quarkus.version>
+ <graalvm.version>19.2.0.1</graalvm.version>
+ <quarkus.version>0.26.1</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>
@@ -239,6 +238,18 @@
<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>
@@ -252,6 +263,17 @@
<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>
@@ -645,5 +667,17 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>docker</id>
+ <activation>
+ <property>
+ <name>docker</name>
+ </property>
+ </activation>
+ <properties>
+ <native-image.container-runtime>docker</native-image.container-runtime>
+ <native-image.docker-build>true</native-image.docker-build>
+ </properties>
+ </profile>
</profiles>
</project>
diff --git a/tooling/camel-k-maven-plugin/pom.xml b/tooling/camel-k-maven-plugin/pom.xml
index 37aa2f0..e65e55a 100644
--- a/tooling/camel-k-maven-plugin/pom.xml
+++ b/tooling/camel-k-maven-plugin/pom.xml
@@ -99,7 +99,7 @@
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-catalog-quarkus</artifactId>
- <version>${quarkus.catalog.version}</version>
+ <version>${camel-quarkus.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
index 05d4b87..3d26b5d 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
@@ -59,7 +59,6 @@ public class CatalogProcessor3x implements CatalogProcessor {
"language",
"log",
"mock",
- "properties",
"ref",
"seda",
"stub",
@@ -94,7 +93,6 @@ public class CatalogProcessor3x implements CatalogProcessor {
artifact.setArtifactId("camel-k-runtime-main");
artifact.addDependency("org.apache.camel", "camel-core-engine");
artifact.addDependency("org.apache.camel", "camel-main");
- artifact.addDependency("org.apache.camel", "camel-properties");
artifacts.put(artifact.getArtifactId(), artifact);
}