You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2026/03/02 10:36:34 UTC
(camel-quarkus) branch 3.27.x updated (5f5c142b62 -> bd0f2376e9)
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a change to branch 3.27.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
from 5f5c142b62 Upgrade Camel to 4.14.5
new 887c6bd5c6 Fix camel-quarkus-opentelemetry2 docs
new 3de02caf36 fix: Add ES cluster health check before running test fixes #8321
new 737b2123c0 Change how CamelQuartzRecorder looks up scheduler beans to account for cases with composite scheduler
new bd0f2376e9 Remove redundant camel-quarkus-mongodb dependency from camel-quarkus-debezium-mongodb
The 4 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:
.../pages/reference/extensions/opentelemetry2.adoc | 4 +-
extensions/debezium-mongodb/deployment/pom.xml | 4 --
extensions/debezium-mongodb/runtime/pom.xml | 8 +--
.../opentelemetry2/runtime/src/main/doc/usage.adoc | 4 +-
.../component/quartz/CamelQuartzRecorder.java | 6 +-
.../elasticsearch/it/ElasticsearchTest.java | 81 ++++++++++++++++++++++
6 files changed, 92 insertions(+), 15 deletions(-)
(camel-quarkus) 03/04: Change how CamelQuartzRecorder looks up scheduler beans to account for cases with composite scheduler
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 3.27.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 737b2123c02174f4a621b4f6b82f46e4ec3dc4b4
Author: Matej Novotny <ma...@gmail.com>
AuthorDate: Tue Feb 17 14:30:56 2026 +0100
Change how CamelQuartzRecorder looks up scheduler beans to account for cases with composite scheduler
Fixes #8306
---
.../apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/extensions/quartz/runtime/src/main/java/org/apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java b/extensions/quartz/runtime/src/main/java/org/apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java
index b8078e5410..585ac4a4fb 100644
--- a/extensions/quartz/runtime/src/main/java/org/apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java
+++ b/extensions/quartz/runtime/src/main/java/org/apache/camel/quarkus/component/quartz/CamelQuartzRecorder.java
@@ -27,8 +27,8 @@ import io.quarkus.quartz.runtime.QuartzSchedulerImpl;
import io.quarkus.runtime.RuntimeValue;
import io.quarkus.runtime.annotations.Recorder;
import jakarta.enterprise.inject.AmbiguousResolutionException;
+import jakarta.enterprise.inject.Any;
import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
import org.apache.camel.Ordered;
import org.apache.camel.VetoCamelContextStartException;
import org.apache.camel.component.quartz.QuartzComponent;
@@ -90,8 +90,8 @@ public class CamelQuartzRecorder {
//Scheduler may be null in several cases, which would cause an exception in traditional autowiring
//see https://github.com/quarkusio/quarkus/issues/27929 for more details
if (handle.getBean().getBeanClass().equals(QuartzSchedulerImpl.class)) {
- Scheduler scheduler = Arc.container().select(QuartzScheduler.class).getHandle().get()
- .getScheduler();
+ Scheduler scheduler = Arc.container().select(QuartzScheduler.class, Any.Literal.INSTANCE)
+ .getHandle().get().getScheduler();
if (scheduler != null) {
//scheduler is added only if is not null
foundSchedulers.add(scheduler);
(camel-quarkus) 01/04: Fix camel-quarkus-opentelemetry2 docs
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 3.27.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 887c6bd5c69c133f3b27856dfcfde8c7bcce7a45
Author: Lukas Lowinger <ll...@redhat.com>
AuthorDate: Tue Feb 24 14:25:24 2026 +0100
Fix camel-quarkus-opentelemetry2 docs
---
docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc | 4 ++--
extensions/opentelemetry2/runtime/src/main/doc/usage.adoc | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc b/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc
index cc033fc7fd..f04200c9ca 100644
--- a/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/opentelemetry2.adoc
@@ -55,12 +55,12 @@ NOTE: this extension may eventually replace the `opentelemetry` extension. You'r
[source,properties]
----
# OTLP exporter endpoint
-quarkus.otel.exporter.otlp.traces.endpoint=http://localhost:4317
+quarkus.otel.exporter.otlp.endpoint=http://localhost:4317
----
Refer to the https://quarkus.io/guides/opentelemetry[Quarkus OpenTelemetry guide] for a full list of configuration options.
-Route endpoints can be excluded from tracing by configuring a property named `quarkus.camel.opentelemetry.exclude-patterns` in `application.properties`. For example:
+Route endpoints can be excluded from tracing by configuring a property named `quarkus.camel.opentelemetry2.exclude-patterns` in `application.properties`. For example:
[source,properties]
----
diff --git a/extensions/opentelemetry2/runtime/src/main/doc/usage.adoc b/extensions/opentelemetry2/runtime/src/main/doc/usage.adoc
index 97077e0a13..23ed02c036 100644
--- a/extensions/opentelemetry2/runtime/src/main/doc/usage.adoc
+++ b/extensions/opentelemetry2/runtime/src/main/doc/usage.adoc
@@ -7,12 +7,12 @@ NOTE: this extension may eventually replace the `opentelemetry` extension. You'r
[source,properties]
----
# OTLP exporter endpoint
-quarkus.otel.exporter.otlp.traces.endpoint=http://localhost:4317
+quarkus.otel.exporter.otlp.endpoint=http://localhost:4317
----
Refer to the https://quarkus.io/guides/opentelemetry[Quarkus OpenTelemetry guide] for a full list of configuration options.
-Route endpoints can be excluded from tracing by configuring a property named `quarkus.camel.opentelemetry.exclude-patterns` in `application.properties`. For example:
+Route endpoints can be excluded from tracing by configuring a property named `quarkus.camel.opentelemetry2.exclude-patterns` in `application.properties`. For example:
[source,properties]
----
(camel-quarkus) 02/04: fix: Add ES cluster health check before running test fixes #8321
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 3.27.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 3de02caf365cd24581e3ff99b393926f098418a4
Author: Gaƫlle Fournier <ga...@gmail.com>
AuthorDate: Mon Feb 23 08:24:37 2026 +0100
fix: Add ES cluster health check before running test fixes #8321
Co-authored-by: Jiri Ondrusek <on...@gmail.com>
---
.../elasticsearch/it/ElasticsearchTest.java | 81 ++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/integration-tests-jvm/elasticsearch/src/test/java/org/apache/camel/quarkus/component/elasticsearch/it/ElasticsearchTest.java b/integration-tests-jvm/elasticsearch/src/test/java/org/apache/camel/quarkus/component/elasticsearch/it/ElasticsearchTest.java
index 59559b8e88..9d3f4c23eb 100644
--- a/integration-tests-jvm/elasticsearch/src/test/java/org/apache/camel/quarkus/component/elasticsearch/it/ElasticsearchTest.java
+++ b/integration-tests-jvm/elasticsearch/src/test/java/org/apache/camel/quarkus/component/elasticsearch/it/ElasticsearchTest.java
@@ -16,6 +16,13 @@
*/
package org.apache.camel.quarkus.component.elasticsearch.it;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@@ -24,7 +31,11 @@ import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import org.awaitility.Awaitility;
+import org.awaitility.core.ConditionTimeoutException;
+import org.eclipse.microprofile.config.ConfigProvider;
+import org.jboss.logging.Logger;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -33,6 +44,13 @@ import static org.hamcrest.Matchers.is;
@QuarkusTest
@QuarkusTestResource(ElasticsearchTestResource.class)
class ElasticsearchTest {
+ private static final Logger LOG = Logger.getLogger(ElasticsearchTest.class);
+
+ @BeforeEach
+ public void beforeEach() throws ConditionTimeoutException {
+ // Ensure the Elasticsearch cluster is ready before each test
+ waitClusterReady();
+ }
@AfterEach
public void afterEach() {
@@ -352,6 +370,69 @@ class ElasticsearchTest {
});
}
+ /**
+ * Queries the Elasticsearch cluster health status and waits until it's green or yellow.
+ * Retries with Awaitility until the cluster is ready.
+ *
+ * @throws ConditionTimeoutException if the request fails after all retries
+ */
+ private void waitClusterReady() throws ConditionTimeoutException {
+ String hostAddresses = ConfigProvider.getConfig().getValue("camel.component.elasticsearch.host-addresses",
+ String.class);
+ String username = ConfigProvider.getConfig().getValue("camel.component.elasticsearch.user", String.class);
+ String password = ConfigProvider.getConfig().getValue("camel.component.elasticsearch.password", String.class);
+
+ Awaitility.await()
+ .pollInterval(500, TimeUnit.MILLISECONDS)
+ .atMost(10, TimeUnit.SECONDS)
+ .until(() -> {
+ try {
+ URL url = new URL(String.format("http://%s/_cluster/health", hostAddresses));
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+ // Set up Basic Authentication
+ String auth = String.format("%s:%s", username, password);
+ String encodedAuth = Base64.getEncoder().encodeToString(auth.getBytes(StandardCharsets.UTF_8));
+ connection.setRequestProperty("Authorization", "Basic " + encodedAuth);
+ connection.setRequestMethod("GET");
+ connection.setConnectTimeout(5000);
+ connection.setReadTimeout(5000);
+
+ int responseCode = connection.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ try (BufferedReader reader = new BufferedReader(
+ new InputStreamReader(connection.getInputStream()))) {
+ StringBuilder response = new StringBuilder();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ response.append(line);
+ }
+ String healthJson = response.toString();
+
+ // Check if cluster status is green or yellow
+ if (healthJson.contains("\"status\":\"green\"")
+ || healthJson.contains("\"status\":\"yellow\"")) {
+ LOG.info("Cluster health is ready: " + healthJson);
+ return healthJson;
+ } else {
+ LOG.info("Cluster not ready yet, current status: "
+ + healthJson);
+ return null;
+ }
+ }
+ } else {
+ LOG.info("Cluster health check returned code: " + responseCode
+ + ", retrying...");
+ return null;
+ }
+ } catch (Exception e) {
+ LOG.info("Failed to query cluster health: " + e.getMessage()
+ + ", retrying...");
+ return null;
+ }
+ }, Objects::nonNull);
+ }
+
/**
* This method returns array of component names used in test routes.
* It can be handy e.g. for testing quarkus managed elasticsearch client.
(camel-quarkus) 04/04: Remove redundant camel-quarkus-mongodb dependency from camel-quarkus-debezium-mongodb
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 3.27.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit bd0f2376e9ba069aa1d7db2adc54830e32eb3b52
Author: James Netherton <ja...@gmail.com>
AuthorDate: Thu Feb 5 13:48:45 2026 +0000
Remove redundant camel-quarkus-mongodb dependency from camel-quarkus-debezium-mongodb
Fixes #8239
---
extensions/debezium-mongodb/deployment/pom.xml | 4 ----
extensions/debezium-mongodb/runtime/pom.xml | 8 ++++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/extensions/debezium-mongodb/deployment/pom.xml b/extensions/debezium-mongodb/deployment/pom.xml
index aa8addac3a..249ec64816 100644
--- a/extensions/debezium-mongodb/deployment/pom.xml
+++ b/extensions/debezium-mongodb/deployment/pom.xml
@@ -46,10 +46,6 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-mongodb-client-deployment</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-mongodb-deployment</artifactId>
- </dependency>
</dependencies>
<build>
diff --git a/extensions/debezium-mongodb/runtime/pom.xml b/extensions/debezium-mongodb/runtime/pom.xml
index a5ffb57e8f..9815f11313 100644
--- a/extensions/debezium-mongodb/runtime/pom.xml
+++ b/extensions/debezium-mongodb/runtime/pom.xml
@@ -43,14 +43,14 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-support-debezium</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-mongodb</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-debezium-mongodb</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-mongodb-client</artifactId>
+ </dependency>
</dependencies>
<build>