This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch camel-quarkus-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git
The following commit(s) were added to refs/heads/camel-quarkus-main by this
push:
new fdb9e358 Upgrade Quarkus to 4.0.0.Beta1
fdb9e358 is described below
commit fdb9e358ddf33e5dbdfc9d424b22b57ae3ea7910
Author: James Netherton <[email protected]>
AuthorDate: Wed Oct 21 13:33:19 2026 +0100
Upgrade Quarkus to 4.0.0.Beta1
* Upgrade Quarkus to 4.0.0.Beta1
* Upgrade Quarkus LangChain4j to 2.0.0.Beta1
* Read the log file via the injected TestLog, as Quarkus 4 uses a unique log
file path for integration tests
* Resolve the unique integration test log file in examples without an HTTP
server, as TestLog falls back to the configured log file path for them
* Rename the removed quarkus.log.file.enable property to
quarkus.log.file.enabled
* Migrate PrometheusMeterRegistry to the io.micrometer.prometheusmetrics
package
* Replace the relocated quarkus-junit5 dependency with quarkus-junit in saga
* Disable the JPA examples until camel-jpa supports Jakarta Persistence 4
* Avoid primitive boolean and short fields in data-extract-langchain4j to
work
around quarkusio/quarkus#57275 in native mode
* Increase the cluster-leader-election CI native-image-xmx to 7g
Co-authored-by: Claude Opus 5.5 <[email protected]>
---
a2a-openai/pom.xml | 2 +-
amqp/pom.xml | 2 +-
amqp/src/test/java/org/acme/amqp/AmqpTest.java | 6 +++---
artemis-elasticsearch/pom.xml | 2 +-
aws-lambda/pom.xml | 2 +-
aws2-s3/pom.xml | 2 +-
aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3IT.java | 18 ++++++++++++++++++
.../src/test/java/org/acme/aws2/s3/Aws2S3Test.java | 12 +++++++++---
cluster-leader-election/pom.xml | 4 ++--
.../src/test/java/org/acme/master/MasterIT.java | 19 +++++++++++++++++++
.../src/test/java/org/acme/master/MasterTest.java | 11 ++++++++---
cxf-soap/pom.xml | 2 +-
cyberark-vault/pom.xml | 2 +-
data-extract-langchain4j/pom.xml | 4 ++--
.../acme/extraction/CustomPojoExtractionService.java | 8 +++++---
fhir/pom.xml | 2 +-
file-bindy-ftp/pom.xml | 2 +-
file-split-log-xml/pom.xml | 2 +-
.../java/org/acme/file/xml/FileSplitLogXmlTest.java | 6 +++---
health/pom.xml | 2 +-
http-log/pom.xml | 2 +-
http-log/src/test/java/org/acme/http/HttpLogTest.java | 6 +++---
http-pqc/pom.xml | 2 +-
jdbc-datasource/pom.xml | 2 +-
jms-jpa/pom.xml | 5 ++++-
jpa-idempotent-repository/pom.xml | 5 ++++-
jta-jpa/pom.xml | 5 ++++-
kafka/pom.xml | 2 +-
kamelet-chucknorris/pom.xml | 2 +-
.../test/java/org/acme/kamelet/ChuckNorrisTest.java | 6 +++---
langchain4j-ingest-rag/pom.xml | 4 ++--
message-bridge/pom.xml | 2 +-
.../org/acme/message/bridge/MessageBridgeITCase.java | 15 ++++++++-------
netty-custom-correlation/pom.xml | 2 +-
.../custom/correlation/NettyCustomCorrelationIT.java | 18 ++++++++++++++++++
.../correlation/NettyCustomCorrelationTest.java | 12 +++++++++---
observability/pom.xml | 2 +-
.../observability/devmode/DevModeMetricsEndpoint.java | 2 +-
openapi-contract-first/pom.xml | 2 +-
platform-http-security-keycloak/pom.xml | 2 +-
quarkus-rest-json/pom.xml | 2 +-
rest-json/pom.xml | 2 +-
rest-keycloak-soap-jms/pom.xml | 2 +-
saga/pom.xml | 2 +-
saga/saga-integration-tests/pom.xml | 2 +-
.../org/apache/camel/example/saga/SagaBasicTest.java | 9 ++++-----
.../src/test/resources/application.yml | 2 +-
spring-redis/pom.xml | 2 +-
.../java/org/acme/spring/redis/SpringRedisTest.java | 6 +++---
timer-log-main/pom.xml | 2 +-
timer-log/pom.xml | 2 +-
.../test/java/org/acme/timer/log/TimerLogTest.java | 6 +++---
variables/pom.xml | 2 +-
variables/src/main/resources/application.properties | 2 +-
.../src/test/java/org/acme/main/VariablesIT.java | 18 ++++++++++++++++++
.../src/test/java/org/acme/main/VariablesTest.java | 12 +++++++++---
vertx-websocket-chat/pom.xml | 2 +-
57 files changed, 195 insertions(+), 88 deletions(-)
diff --git a/a2a-openai/pom.xml b/a2a-openai/pom.xml
index 1beb2b25..06a6ab53 100644
--- a/a2a-openai/pom.xml
+++ b/a2a-openai/pom.xml
@@ -29,7 +29,7 @@
<description>Camel Quarkus Example :: A2A Support Ticket Triage with
OpenAI</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/amqp/pom.xml b/amqp/pom.xml
index 58bea927..43bd79c2 100644
--- a/amqp/pom.xml
+++ b/amqp/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: AMQP</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/amqp/src/test/java/org/acme/amqp/AmqpTest.java
b/amqp/src/test/java/org/acme/amqp/AmqpTest.java
index 4c86f979..9e3eacde 100644
--- a/amqp/src/test/java/org/acme/amqp/AmqpTest.java
+++ b/amqp/src/test/java/org/acme/amqp/AmqpTest.java
@@ -18,9 +18,9 @@ package org.acme.amqp;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
@@ -35,13 +35,13 @@ public class AmqpTest {
@Disabled("Requires a running ActiveMQ broker.")
@Test
- public void testTimerLog() {
+ public void testTimerLog(TestLog testLog) {
Config config = ConfigProvider.getConfig();
String greeting = config.getValue("greeting.message", String.class);
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS)
.untilAsserted(() -> Assertions
- .assertTrue(new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8)
+ .assertTrue(new
String(Files.readAllBytes(testLog.getLogFilePath()), StandardCharsets.UTF_8)
.contains(greeting)));
}
}
diff --git a/artemis-elasticsearch/pom.xml b/artemis-elasticsearch/pom.xml
index 1126475f..3f8d8a0a 100644
--- a/artemis-elasticsearch/pom.xml
+++ b/artemis-elasticsearch/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Artemis ElasticSearch</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/aws-lambda/pom.xml b/aws-lambda/pom.xml
index ecaf5963..78a2e8bc 100644
--- a/aws-lambda/pom.xml
+++ b/aws-lambda/pom.xml
@@ -27,7 +27,7 @@
<description>Camel Quarkus Example :: Deploying a Camel Route in AWS
Lambda</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/aws2-s3/pom.xml b/aws2-s3/pom.xml
index 948411cd..9c266c67 100644
--- a/aws2-s3/pom.xml
+++ b/aws2-s3/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Upload a file to an AWS S3
bucket</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3IT.java
b/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3IT.java
index 956935ba..0e9dd861 100644
--- a/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3IT.java
+++ b/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3IT.java
@@ -16,9 +16,27 @@
*/
package org.acme.aws2.s3;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.stream.Stream;
+
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
class Aws2S3IT extends Aws2S3Test {
+ @Override
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ Path configuredPath = testLog.getLogFilePath();
+ try (Stream<Path> paths = Files.list(configuredPath.getParent())) {
+ return paths.filter(path ->
path.getFileName().toString().startsWith("test-"))
+ .map(path -> path.resolve(configuredPath.getFileName()))
+ .filter(Files::exists)
+ .max(Comparator.comparing(path ->
path.toFile().lastModified()))
+ .orElse(configuredPath);
+ }
+ }
}
diff --git a/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3Test.java
b/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3Test.java
index faea3f05..20246308 100644
--- a/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3Test.java
+++ b/aws2-s3/src/test/java/org/acme/aws2/s3/Aws2S3Test.java
@@ -16,11 +16,13 @@
*/
package org.acme.aws2.s3;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.common.WithTestResource;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Assertions;
@@ -33,10 +35,14 @@ import static org.awaitility.Awaitility.await;
class Aws2S3Test {
@Test
- public void testSendAndReceive() {
+ public void testSendAndReceive(TestLog testLog) {
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS)
.untilAsserted(() -> Assertions
- .assertTrue(new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8)
+ .assertTrue(new
String(Files.readAllBytes(logFilePath(testLog)), StandardCharsets.UTF_8)
.contains("Received body: Hello from Camel via
aws2-s3!")));
}
+
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ return testLog.getLogFilePath();
+ }
}
diff --git a/cluster-leader-election/pom.xml b/cluster-leader-election/pom.xml
index 3eb4cc89..aff3591d 100644
--- a/cluster-leader-election/pom.xml
+++ b/cluster-leader-election/pom.xml
@@ -29,7 +29,7 @@
<description>Camel Quarkus Example :: Cluster leader election</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
@@ -367,7 +367,7 @@
<profile>
<id>ci</id>
<properties>
-
<quarkus.native.native-image-xmx>5g</quarkus.native.native-image-xmx>
+
<quarkus.native.native-image-xmx>7g</quarkus.native.native-image-xmx>
</properties>
</profile>
</profiles>
diff --git
a/cluster-leader-election/src/test/java/org/acme/master/MasterIT.java
b/cluster-leader-election/src/test/java/org/acme/master/MasterIT.java
index d36ce3a9..0f807a65 100644
--- a/cluster-leader-election/src/test/java/org/acme/master/MasterIT.java
+++ b/cluster-leader-election/src/test/java/org/acme/master/MasterIT.java
@@ -16,8 +16,27 @@
*/
package org.acme.master;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.stream.Stream;
+
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
class MasterIT extends MasterTest {
+
+ @Override
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ Path configuredPath = testLog.getLogFilePath();
+ try (Stream<Path> paths = Files.list(configuredPath.getParent())) {
+ return paths.filter(path ->
path.getFileName().toString().startsWith("test-"))
+ .map(path -> path.resolve(configuredPath.getFileName()))
+ .filter(Files::exists)
+ .max(Comparator.comparing(path ->
path.toFile().lastModified()))
+ .orElse(configuredPath);
+ }
+ }
}
diff --git
a/cluster-leader-election/src/test/java/org/acme/master/MasterTest.java
b/cluster-leader-election/src/test/java/org/acme/master/MasterTest.java
index 4f81826f..2976d01e 100644
--- a/cluster-leader-election/src/test/java/org/acme/master/MasterTest.java
+++ b/cluster-leader-election/src/test/java/org/acme/master/MasterTest.java
@@ -16,11 +16,13 @@
*/
package org.acme.master;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Test;
@@ -30,11 +32,14 @@ import static org.awaitility.Awaitility.await;
public class MasterTest {
@Test
- public void testLog() {
+ public void testLog(TestLog testLog) {
await().atMost(30L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- String log = new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8);
+ String log = new String(Files.readAllBytes(logFilePath(testLog)),
StandardCharsets.UTF_8);
return log.contains("Clustered route (timer)");
});
}
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ return testLog.getLogFilePath();
+ }
}
diff --git a/cxf-soap/pom.xml b/cxf-soap/pom.xml
index 060fc235..ff94a36a 100644
--- a/cxf-soap/pom.xml
+++ b/cxf-soap/pom.xml
@@ -29,7 +29,7 @@
<description>Camel Quarkus Example :: CXF SOAP</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/cyberark-vault/pom.xml b/cyberark-vault/pom.xml
index dc5b5af4..c9329030 100644
--- a/cyberark-vault/pom.xml
+++ b/cyberark-vault/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: CyberArk Vault</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/data-extract-langchain4j/pom.xml b/data-extract-langchain4j/pom.xml
index 887ce5b1..e51c6b39 100644
--- a/data-extract-langchain4j/pom.xml
+++ b/data-extract-langchain4j/pom.xml
@@ -31,7 +31,7 @@
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
@@ -53,7 +53,7 @@
<maven-surefire-plugin.version>3.5.6</maven-surefire-plugin.version>
<!-- the Quarkus LangChain4j release Camel Quarkus is built against -->
-
<quarkiverse-langchain4j.version>1.14.2</quarkiverse-langchain4j.version>
+
<quarkiverse-langchain4j.version>2.0.0.Beta1</quarkiverse-langchain4j.version>
<wiremock.version>3.13.2</wiremock.version>
</properties>
diff --git
a/data-extract-langchain4j/src/main/java/org/acme/extraction/CustomPojoExtractionService.java
b/data-extract-langchain4j/src/main/java/org/acme/extraction/CustomPojoExtractionService.java
index 0c1f6381..8732b763 100644
---
a/data-extract-langchain4j/src/main/java/org/acme/extraction/CustomPojoExtractionService.java
+++
b/data-extract-langchain4j/src/main/java/org/acme/extraction/CustomPojoExtractionService.java
@@ -35,10 +35,12 @@ import org.apache.camel.Handler;
@ApplicationScoped
public interface CustomPojoExtractionService {
+ // Boxed / int fields avoid a native mode deserialization issue with
primitive boolean and short fields
+ // https://github.com/quarkusio/quarkus/issues/57275
@RegisterForReflection(registerFullHierarchy = true)
class CustomPojo {
@JsonProperty(required = true)
- public boolean customerSatisfied;
+ public Boolean customerSatisfied;
@JsonProperty(required = true)
public String customerName;
@JsonProperty(required = true)
@@ -59,9 +61,9 @@ public interface CustomPojoExtractionService {
@JsonProperty(required = true)
public int year;
@JsonProperty(required = true)
- public short month;
+ public int month;
@JsonProperty(required = true)
- public short day;
+ public int day;
}
String CUSTOM_POJO_EXTRACT_PROMPT = "Extract information about a customer
from the transcript delimited by triple backticks: ```{{text}}```."
diff --git a/fhir/pom.xml b/fhir/pom.xml
index 3cd44be0..70069895 100644
--- a/fhir/pom.xml
+++ b/fhir/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: FHIR</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/file-bindy-ftp/pom.xml b/file-bindy-ftp/pom.xml
index da9102c7..cf2aeac1 100644
--- a/file-bindy-ftp/pom.xml
+++ b/file-bindy-ftp/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: File Bindy FTP</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/file-split-log-xml/pom.xml b/file-split-log-xml/pom.xml
index d7c93e08..65611e41 100644
--- a/file-split-log-xml/pom.xml
+++ b/file-split-log-xml/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: File To Log XML DSL</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/file-split-log-xml/src/test/java/org/acme/file/xml/FileSplitLogXmlTest.java
b/file-split-log-xml/src/test/java/org/acme/file/xml/FileSplitLogXmlTest.java
index f801b5c9..09c05c0d 100644
---
a/file-split-log-xml/src/test/java/org/acme/file/xml/FileSplitLogXmlTest.java
+++
b/file-split-log-xml/src/test/java/org/acme/file/xml/FileSplitLogXmlTest.java
@@ -18,9 +18,9 @@ package org.acme.file.xml;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Test;
@@ -30,10 +30,10 @@ import static org.awaitility.Awaitility.await;
public class FileSplitLogXmlTest {
@Test
- public void testFileSplitLogXml() {
+ public void testFileSplitLogXml(TestLog testLog) {
// Verify that all 10 items were output to the log
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- String log = new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8);
+ String log = new
String(Files.readAllBytes(testLog.getLogFilePath()), StandardCharsets.UTF_8);
return log.contains("line 10 contains: Richard,WILSON");
});
}
diff --git a/health/pom.xml b/health/pom.xml
index 993a70c2..e0ec36e2 100644
--- a/health/pom.xml
+++ b/health/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Health Check</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/http-log/pom.xml b/http-log/pom.xml
index fac1e361..3529e0b9 100644
--- a/http-log/pom.xml
+++ b/http-log/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: HTTP to Log</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/http-log/src/test/java/org/acme/http/HttpLogTest.java
b/http-log/src/test/java/org/acme/http/HttpLogTest.java
index 402ecefe..9a3f338e 100644
--- a/http-log/src/test/java/org/acme/http/HttpLogTest.java
+++ b/http-log/src/test/java/org/acme/http/HttpLogTest.java
@@ -18,9 +18,9 @@ package org.acme.http;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
@@ -31,13 +31,13 @@ import static org.awaitility.Awaitility.await;
public class HttpLogTest {
@Test
- public void testHttpLog() {
+ public void testHttpLog(TestLog testLog) {
RestAssured.get("/camel/hello")
.then()
.statusCode(200);
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- String log = new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8);
+ String log = new
String(Files.readAllBytes(testLog.getLogFilePath()), StandardCharsets.UTF_8);
return log.contains("Camel runs on");
});
}
diff --git a/http-pqc/pom.xml b/http-pqc/pom.xml
index 69f53e67..2729344d 100644
--- a/http-pqc/pom.xml
+++ b/http-pqc/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: HTTP with Post-Quantum Cryptography
using X25519MLKEM768</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/jdbc-datasource/pom.xml b/jdbc-datasource/pom.xml
index 4b0204ac..192d3b4f 100644
--- a/jdbc-datasource/pom.xml
+++ b/jdbc-datasource/pom.xml
@@ -25,7 +25,7 @@
<name>Camel Quarkus :: Examples :: Jdbc - DatataSource - Log</name>
<description>Camel Quarkus Example :: Connect to Database using
Datasource</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/jms-jpa/pom.xml b/jms-jpa/pom.xml
index f13266aa..c6654c43 100644
--- a/jms-jpa/pom.xml
+++ b/jms-jpa/pom.xml
@@ -25,8 +25,11 @@
<name>Camel Quarkus :: Examples :: JMS JPA</name>
<description>Camel Quarkus Example :: JMS JPA</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
+ <!-- TODO: Re-enable when camel-jpa is compiled against Jakarta
Persistence 4 -->
+ <skipTests>true</skipTests>
+ <quarkus.build.skip>true</quarkus.build.skip>
<quarkiverse-artemis.version>3.15.0</quarkiverse-artemis.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/jpa-idempotent-repository/pom.xml
b/jpa-idempotent-repository/pom.xml
index 1873a710..f95667de 100644
--- a/jpa-idempotent-repository/pom.xml
+++ b/jpa-idempotent-repository/pom.xml
@@ -30,8 +30,11 @@
<description>Camel Quarkus Example :: JPA Idempotent
Repository</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
+ <!-- TODO: Re-enable when camel-jpa is compiled against Jakarta
Persistence 4 -->
+ <skipTests>true</skipTests>
+ <quarkus.build.skip>true</quarkus.build.skip>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
diff --git a/jta-jpa/pom.xml b/jta-jpa/pom.xml
index 1912dc0e..6e3e134c 100644
--- a/jta-jpa/pom.xml
+++ b/jta-jpa/pom.xml
@@ -25,8 +25,11 @@
<name>Camel Quarkus :: Examples :: JTA JPA</name>
<description>Camel Quarkus Example :: JTA JPA</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
+ <!-- TODO: Re-enable when camel-jpa is compiled against Jakarta
Persistence 4 -->
+ <skipTests>true</skipTests>
+ <quarkus.build.skip>true</quarkus.build.skip>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
diff --git a/kafka/pom.xml b/kafka/pom.xml
index 5841b55b..1bad9fa4 100644
--- a/kafka/pom.xml
+++ b/kafka/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Kafka</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/kamelet-chucknorris/pom.xml b/kamelet-chucknorris/pom.xml
index 3cc6c943..22a40ccd 100644
--- a/kamelet-chucknorris/pom.xml
+++ b/kamelet-chucknorris/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Kamelet Chuck Norris</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/kamelet-chucknorris/src/test/java/org/acme/kamelet/ChuckNorrisTest.java
b/kamelet-chucknorris/src/test/java/org/acme/kamelet/ChuckNorrisTest.java
index 8d0f9f97..5d18265c 100644
--- a/kamelet-chucknorris/src/test/java/org/acme/kamelet/ChuckNorrisTest.java
+++ b/kamelet-chucknorris/src/test/java/org/acme/kamelet/ChuckNorrisTest.java
@@ -17,11 +17,11 @@
package org.acme.kamelet;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Test;
@@ -31,9 +31,9 @@ import static org.awaitility.Awaitility.await;
@QuarkusTest
public class ChuckNorrisTest {
@Test
- public void chuckNorrisKamelet() {
+ public void chuckNorrisKamelet(TestLog testLog) {
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- List<String> log =
Files.readAllLines(Paths.get("target/quarkus.log"));
+ List<String> log = Files.readAllLines(testLog.getLogFilePath());
return log.stream().anyMatch(line ->
line.matches(".*timer.*Chuck.*"));
});
}
diff --git a/langchain4j-ingest-rag/pom.xml b/langchain4j-ingest-rag/pom.xml
index d689e707..710c7669 100644
--- a/langchain4j-ingest-rag/pom.xml
+++ b/langchain4j-ingest-rag/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: RAG document Q&A over a folder
ingested by the langchain4j-ingest extension</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
@@ -49,7 +49,7 @@
<maven-surefire-plugin.version>3.5.6</maven-surefire-plugin.version>
<!-- the Quarkus LangChain4j release Camel Quarkus is built against -->
-
<quarkiverse-langchain4j.version>1.14.2</quarkiverse-langchain4j.version>
+
<quarkiverse-langchain4j.version>2.0.0.Beta1</quarkiverse-langchain4j.version>
<wiremock.version>3.13.2</wiremock.version>
</properties>
diff --git a/message-bridge/pom.xml b/message-bridge/pom.xml
index 3d23fee6..48c14cbc 100644
--- a/message-bridge/pom.xml
+++ b/message-bridge/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Configure XA Transactions and
connection pooling</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/message-bridge/src/test/java/org/acme/message/bridge/MessageBridgeITCase.java
b/message-bridge/src/test/java/org/acme/message/bridge/MessageBridgeITCase.java
index 1d3f545f..00f028a5 100644
---
a/message-bridge/src/test/java/org/acme/message/bridge/MessageBridgeITCase.java
+++
b/message-bridge/src/test/java/org/acme/message/bridge/MessageBridgeITCase.java
@@ -23,6 +23,7 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusIntegrationTest;
import io.restassured.RestAssured;
import org.acme.message.bridge.resource.IBMMQTestResource;
@@ -40,11 +41,10 @@ import static org.assertj.core.api.Assertions.assertThat;
// The crash test will kill the app, so it must be executed last as there is
no way to restart the application
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class MessageBridgeITCase {
- private static final File LOG_FILE = new File("target/quarkus.log");
@Test
@Order(1)
- public void shouldSendMessageToActiveMQTest() {
+ public void shouldSendMessageToActiveMQTest(TestLog testLog) {
final String message = UUID.randomUUID().toString();
RestAssured
.given()
@@ -52,12 +52,13 @@ public class MessageBridgeITCase {
.post("/message");
Awaitility.await().atMost(5, TimeUnit.SECONDS)
- .untilAsserted(() ->
assertThat(Files.readString(LOG_FILE.toPath())).contains("ActiveMQ received: "
+ message));
+ .untilAsserted(
+ () ->
assertThat(Files.readString(testLog.getLogFilePath())).contains("ActiveMQ
received: " + message));
}
@Test
@Order(2)
- public void shouldRollbackMessageTest() {
+ public void shouldRollbackMessageTest(TestLog testLog) {
final String message = UUID.randomUUID() + "-rollback";
RestAssured
.given()
@@ -65,7 +66,7 @@ public class MessageBridgeITCase {
.post("/message");
Awaitility.await().atMost(5, TimeUnit.SECONDS)
- .untilAsserted(() ->
assertThat(Files.readString(LOG_FILE.toPath()))
+ .untilAsserted(() ->
assertThat(Files.readString(testLog.getLogFilePath()))
.containsSubsequence(
"Sending message from IBMMQ to ActiveMQ: " +
message,
"Simulated rollback",
@@ -75,7 +76,7 @@ public class MessageBridgeITCase {
@Test
@Order(3)
- public void shouldCrashTest() {
+ public void shouldCrashTest(TestLog testLog) {
final String message = UUID.randomUUID() + "-crash";
RestAssured
.given()
@@ -83,7 +84,7 @@ public class MessageBridgeITCase {
.post("/message");
Awaitility.await().atMost(5, TimeUnit.SECONDS)
- .untilAsserted(() ->
assertThat(Files.readString(LOG_FILE.toPath())).contains("Crashing the
system"));
+ .untilAsserted(() ->
assertThat(Files.readString(testLog.getLogFilePath())).contains("Crashing the
system"));
File tmDir = Paths
.get(ConfigProvider.getConfig().getValue("quarkus.transaction-manager.object-store.directory",
String.class),
"ShadowNoFileLockStore", "defaultStore",
"StateManager", "BasicAction", "TwoPhaseCoordinator",
diff --git a/netty-custom-correlation/pom.xml b/netty-custom-correlation/pom.xml
index 7262f279..7891ff74 100644
--- a/netty-custom-correlation/pom.xml
+++ b/netty-custom-correlation/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Communication with Netty over
TCP</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationIT.java
b/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationIT.java
index 9638189c..cab7dcd2 100644
---
a/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationIT.java
+++
b/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationIT.java
@@ -16,9 +16,27 @@
*/
package org.acme.netty.custom.correlation;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.stream.Stream;
+
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
class NettyCustomCorrelationIT extends NettyCustomCorrelationTest {
+ @Override
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ Path configuredPath = testLog.getLogFilePath();
+ try (Stream<Path> paths = Files.list(configuredPath.getParent())) {
+ return paths.filter(path ->
path.getFileName().toString().startsWith("test-"))
+ .map(path -> path.resolve(configuredPath.getFileName()))
+ .filter(Files::exists)
+ .max(Comparator.comparing(path ->
path.toFile().lastModified()))
+ .orElse(configuredPath);
+ }
+ }
}
diff --git
a/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationTest.java
b/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationTest.java
index 26ab1d05..70ca6635 100644
---
a/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationTest.java
+++
b/netty-custom-correlation/src/test/java/org/acme/netty/custom/correlation/NettyCustomCorrelationTest.java
@@ -16,10 +16,12 @@
*/
package org.acme.netty.custom.correlation;
+import java.io.IOException;
import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -30,10 +32,10 @@ import static org.awaitility.Awaitility.await;
class NettyCustomCorrelationTest {
@Test
- public void testWithCorrelation() {
+ public void testWithCorrelation(TestLog testLog) {
await().atMost(20L, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS)
.untilAsserted(() -> {
- String log =
Files.readString(Paths.get("target/quarkus.log"));
+ String log = Files.readString(logFilePath(testLog));
//we should receive both correlated and uncorrelated
response
Assertions.assertTrue(log.contains("(correct reply)"));
Assertions.assertFalse(log.contains("(wrong reply)"));
@@ -41,4 +43,8 @@ class NettyCustomCorrelationTest {
Assertions.assertTrue(log.contains("Server response: #5"));
});
}
+
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ return testLog.getLogFilePath();
+ }
}
diff --git a/observability/pom.xml b/observability/pom.xml
index 100e3b79..597eab1a 100644
--- a/observability/pom.xml
+++ b/observability/pom.xml
@@ -29,7 +29,7 @@
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/observability/src/main/java/org/acme/observability/devmode/DevModeMetricsEndpoint.java
b/observability/src/main/java/org/acme/observability/devmode/DevModeMetricsEndpoint.java
index 4ce7899c..a2db3d1d 100644
---
a/observability/src/main/java/org/acme/observability/devmode/DevModeMetricsEndpoint.java
+++
b/observability/src/main/java/org/acme/observability/devmode/DevModeMetricsEndpoint.java
@@ -16,7 +16,7 @@
*/
package org.acme.observability.devmode;
-import io.micrometer.prometheus.PrometheusMeterRegistry;
+import io.micrometer.prometheusmetrics.PrometheusMeterRegistry;
import io.quarkus.arc.profile.IfBuildProfile;
import io.vertx.ext.web.Router;
import jakarta.enterprise.context.ApplicationScoped;
diff --git a/openapi-contract-first/pom.xml b/openapi-contract-first/pom.xml
index e15d0e4d..29dc8ed4 100644
--- a/openapi-contract-first/pom.xml
+++ b/openapi-contract-first/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: openapi-contract-first</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/platform-http-security-keycloak/pom.xml
b/platform-http-security-keycloak/pom.xml
index ae0164d6..eaeece9f 100644
--- a/platform-http-security-keycloak/pom.xml
+++ b/platform-http-security-keycloak/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Platform HTTP Security
Keycloak</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/quarkus-rest-json/pom.xml b/quarkus-rest-json/pom.xml
index d1aa1ca6..45d319c8 100644
--- a/quarkus-rest-json/pom.xml
+++ b/quarkus-rest-json/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Quarkus Rest Json</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/rest-json/pom.xml b/rest-json/pom.xml
index 13191754..10f7bb7e 100644
--- a/rest-json/pom.xml
+++ b/rest-json/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Rest Json</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/rest-keycloak-soap-jms/pom.xml b/rest-keycloak-soap-jms/pom.xml
index 5b181ddc..240ff232 100644
--- a/rest-keycloak-soap-jms/pom.xml
+++ b/rest-keycloak-soap-jms/pom.xml
@@ -29,7 +29,7 @@
<description>Camel Quarkus Example :: REST to SOAP bridge with Keycloak
security and JMS async events</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/saga/pom.xml b/saga/pom.xml
index cef94fae..3a91aa35 100644
--- a/saga/pom.xml
+++ b/saga/pom.xml
@@ -29,7 +29,7 @@
<packaging>pom</packaging>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkiverse-artemis.version>3.15.0</quarkiverse-artemis.version>
diff --git a/saga/saga-integration-tests/pom.xml
b/saga/saga-integration-tests/pom.xml
index 628764d6..932f6ca6 100644
--- a/saga/saga-integration-tests/pom.xml
+++ b/saga/saga-integration-tests/pom.xml
@@ -57,7 +57,7 @@
<!-- Test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
+ <artifactId>quarkus-junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/saga/saga-integration-tests/src/test/java/org/apache/camel/example/saga/SagaBasicTest.java
b/saga/saga-integration-tests/src/test/java/org/apache/camel/example/saga/SagaBasicTest.java
index 64700c51..0972668c 100644
---
a/saga/saga-integration-tests/src/test/java/org/apache/camel/example/saga/SagaBasicTest.java
+++
b/saga/saga-integration-tests/src/test/java/org/apache/camel/example/saga/SagaBasicTest.java
@@ -17,12 +17,12 @@
package org.apache.camel.example.saga;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import org.awaitility.Awaitility;
@@ -40,7 +40,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@QuarkusTest
@QuarkusTestResource(SagaTestResource.class)
public class SagaBasicTest {
- private static final String LOG_FILE = "target/quarkus.log";
private static final Logger LOG =
Logger.getLogger(SagaBasicTest.class.getName());
/**
@@ -48,7 +47,7 @@ public class SagaBasicTest {
* Payment service has 15% random failure rate, so either scenario is
valid.
*/
@Test
- public void testSagaWithLRAAndRandomOutcomes() throws Exception {
+ public void testSagaWithLRAAndRandomOutcomes(TestLog testLog) throws
Exception {
// Trigger saga asynchronously (may timeout on payment failure, which
is expected)
CompletableFuture.runAsync(() -> {
try {
@@ -63,7 +62,7 @@ public class SagaBasicTest {
// Wait for saga to start and process fully
// In native mode, we need to wait longer for all messages to be logged
await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
- String log = Files.readString(Paths.get(LOG_FILE));
+ String log = Files.readString(testLog.getLogFilePath());
assertTrue(log.contains("Executing saga #1"), "Saga should start
with LRA");
// Wait until we see evidence of completion (success or failure)
@@ -78,7 +77,7 @@ public class SagaBasicTest {
.pollInterval(Duration.ofMillis(250))
.atMost(Duration.ofMinutes(1))
.untilAsserted(() -> {
- String log = Files.readString(Paths.get(LOG_FILE));
+ String log = Files.readString(testLog.getLogFilePath());
// Verify LRA coordinator is used
assertTrue(log.contains("lra-coordinator"), "Should use
LRA coordinator");
diff --git a/saga/saga-integration-tests/src/test/resources/application.yml
b/saga/saga-integration-tests/src/test/resources/application.yml
index da44b5a2..25b844e0 100644
--- a/saga/saga-integration-tests/src/test/resources/application.yml
+++ b/saga/saga-integration-tests/src/test/resources/application.yml
@@ -27,7 +27,7 @@ quarkus:
level: INFO
min-level: DEBUG
file:
- enable: true
+ enabled: true
path: target/quarkus.log
camel:
diff --git a/spring-redis/pom.xml b/spring-redis/pom.xml
index ebeabed0..63411b0c 100644
--- a/spring-redis/pom.xml
+++ b/spring-redis/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Send and receive messages from
Redis</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git
a/spring-redis/src/test/java/org/acme/spring/redis/SpringRedisTest.java
b/spring-redis/src/test/java/org/acme/spring/redis/SpringRedisTest.java
index 36512b4f..e0227f31 100644
--- a/spring-redis/src/test/java/org/acme/spring/redis/SpringRedisTest.java
+++ b/spring-redis/src/test/java/org/acme/spring/redis/SpringRedisTest.java
@@ -17,10 +17,10 @@
package org.acme.spring.redis;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
import io.quarkus.test.common.QuarkusTestResource;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -32,10 +32,10 @@ import static org.awaitility.Awaitility.await;
class SpringRedisTest {
@Test
- public void testSendAndReceive() {
+ public void testSendAndReceive(TestLog testLog) {
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1, TimeUnit.SECONDS)
.untilAsserted(() -> {
- String log =
Files.readString(Paths.get("target/quarkus.log"));
+ String log = Files.readString(testLog.getLogFilePath());
Assertions.assertTrue(log.contains("Received value: Hello
Redis!"));
Assertions.assertTrue(log.contains("Received message:
Hello Redis from the topic!"));
});
diff --git a/timer-log-main/pom.xml b/timer-log-main/pom.xml
index da9e91db..192e96a5 100644
--- a/timer-log-main/pom.xml
+++ b/timer-log-main/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Timer to Log Main</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/timer-log/pom.xml b/timer-log/pom.xml
index 121ac6c3..70798771 100644
--- a/timer-log/pom.xml
+++ b/timer-log/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Timer to Log</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/timer-log/src/test/java/org/acme/timer/log/TimerLogTest.java
b/timer-log/src/test/java/org/acme/timer/log/TimerLogTest.java
index dfa840e0..574f10ef 100644
--- a/timer-log/src/test/java/org/acme/timer/log/TimerLogTest.java
+++ b/timer-log/src/test/java/org/acme/timer/log/TimerLogTest.java
@@ -17,9 +17,9 @@
package org.acme.timer.log;
import java.nio.file.Files;
-import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
@@ -31,12 +31,12 @@ import static org.awaitility.Awaitility.await;
public class TimerLogTest {
@Test
- public void testTimerLog() {
+ public void testTimerLog(TestLog testLog) {
Config config = ConfigProvider.getConfig();
String greeting = config.getValue("greeting.message", String.class);
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- String log = Files.readString(Paths.get("target/quarkus.log"));
+ String log = Files.readString(testLog.getLogFilePath());
return log.contains("Java DSL: " + greeting) && log.contains("YAML
DSL: " + greeting);
});
}
diff --git a/variables/pom.xml b/variables/pom.xml
index 6db45d5c..068fcf27 100644
--- a/variables/pom.xml
+++ b/variables/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Variables</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
diff --git a/variables/src/main/resources/application.properties
b/variables/src/main/resources/application.properties
index 9e5172be..0e299bed 100644
--- a/variables/src/main/resources/application.properties
+++ b/variables/src/main/resources/application.properties
@@ -19,7 +19,7 @@
# Quarkus
#
quarkus.banner.enabled = false
-quarkus.log.file.enable = true
+quarkus.log.file.enabled = true
#
# Camel
diff --git a/variables/src/test/java/org/acme/main/VariablesIT.java
b/variables/src/test/java/org/acme/main/VariablesIT.java
index d489a5f1..75e93617 100644
--- a/variables/src/test/java/org/acme/main/VariablesIT.java
+++ b/variables/src/test/java/org/acme/main/VariablesIT.java
@@ -16,9 +16,27 @@
*/
package org.acme.main;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.stream.Stream;
+
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusIntegrationTest;
@QuarkusIntegrationTest
class VariablesIT extends VariablesTest {
+ @Override
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ Path configuredPath = testLog.getLogFilePath();
+ try (Stream<Path> paths = Files.list(configuredPath.getParent())) {
+ return paths.filter(path ->
path.getFileName().toString().startsWith("test-"))
+ .map(path -> path.resolve(configuredPath.getFileName()))
+ .filter(Files::exists)
+ .max(Comparator.comparing(path ->
path.toFile().lastModified()))
+ .orElse(configuredPath);
+ }
+ }
}
diff --git a/variables/src/test/java/org/acme/main/VariablesTest.java
b/variables/src/test/java/org/acme/main/VariablesTest.java
index 26b1cdfd..d96ce0b3 100644
--- a/variables/src/test/java/org/acme/main/VariablesTest.java
+++ b/variables/src/test/java/org/acme/main/VariablesTest.java
@@ -16,12 +16,14 @@
*/
package org.acme.main;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
+import io.quarkus.test.common.TestLog;
import io.quarkus.test.junit.QuarkusTest;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
@@ -33,7 +35,7 @@ import static org.awaitility.Awaitility.await;
public class VariablesTest {
@Test
- public void testVariables() {
+ public void testVariables(TestLog testLog) {
Config config = ConfigProvider.getConfig();
String greeting = config.getValue("camel.variable.greeting",
String.class);
String contextName = config.getValue("camel.context.name",
String.class);
@@ -42,9 +44,13 @@ public class VariablesTest {
Pattern p = Pattern.compile(String.format(".* %s from %s: \\d.*",
greeting, contextName), Pattern.DOTALL);
await().atMost(10L, TimeUnit.SECONDS).pollDelay(1,
TimeUnit.SECONDS).until(() -> {
- String log = new
String(Files.readAllBytes(Paths.get("target/quarkus.log")),
StandardCharsets.UTF_8);
+ String log = new String(Files.readAllBytes(logFilePath(testLog)),
StandardCharsets.UTF_8);
return log.contains(String.format("%s : %s", greeting,
initRandom)) &&
p.matcher(log).matches();
});
}
+
+ protected Path logFilePath(TestLog testLog) throws IOException {
+ return testLog.getLogFilePath();
+ }
}
diff --git a/vertx-websocket-chat/pom.xml b/vertx-websocket-chat/pom.xml
index 333eb9f0..c9c69cad 100644
--- a/vertx-websocket-chat/pom.xml
+++ b/vertx-websocket-chat/pom.xml
@@ -28,7 +28,7 @@
<description>Camel Quarkus Example :: Implementing Websocket</description>
<properties>
- <quarkus.platform.version>3.40.1</quarkus.platform.version>
+ <quarkus.platform.version>4.0.0.Beta1</quarkus.platform.version>
<camel-quarkus.platform.version>4.0.0-SNAPSHOT</camel-quarkus.platform.version>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>