This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 0d3eb44821402dbcda92f1d7866287ea58cfc256
Author: James Netherton <[email protected]>
AuthorDate: Mon Mar 23 12:58:50 2026 +0000

    Upgrade Quarkus to 3.35.0.CR1
---
 docs/antora.yml                                    |   4 +-
 .../storage/blob/it/AzureStorageBlobTest.java      |   9 +-
 .../common/it/mongodb/DebeziumMongodbTest.java     |   5 +-
 .../common/it/sqlserv/DebeziumSqlserverTest.java   |   7 +-
 .../common/it/mysql/DebeziumMysqlTest.java         |   4 +-
 .../common/it/postgres/DebeziumOracleTest.java     |   4 +-
 .../common/it/postgres/DebeziumPostgresTest.java   |   4 +-
 .../quarkus/component/http/http/it/HttpTest.java   |   5 +-
 .../quarkus/component/mongodb/it/MongoDbTest.java  |   6 +-
 .../test/support/kafka/KafkaTestResource.java      |  20 +--
 .../component/arangodb/it/ArangodbTest.java        |   8 +-
 .../camel/quarkus/component/jira/it/JiraTest.java  |   9 +-
 .../component/jms/artemis/it/JmsArtemisXATest.java |   6 +-
 .../quarkus/component/jpa/it/JpaTestBase.java      |   7 +-
 .../kafka/oauth/it/KafkaKeycloakTestResource.java  |  27 ++--
 .../kafka/sasl/KafkaSaslSslTestResource.java       | 158 ++++++++++-----------
 .../quarkus/kafka/sasl/KafkaSaslTestResource.java  |  89 +++++-------
 .../quarkus/kafka/ssl/KafkaSslTestResource.java    |  94 +++++-------
 .../camel/quarkus/component/kudu/it/KuduTest.java  |   6 +-
 .../camel/quarkus/component/mail/MailTest.java     |   7 +-
 .../quarkus/component/olingo4/it/Olingo4Test.java  |  25 ++--
 .../opentelemetry/it/OpenTelemetryTest.java        |  27 ++--
 .../opentelemetry2/it/Opentelemetry2Test.java      |  30 ++--
 .../replication/slot/it/PgReplicationSlotTest.java |  12 +-
 .../component/pinecone/it/PineconeResource.java    |  10 +-
 .../component/pinecone/it/PineconeTest.java        |   5 +-
 pom.xml                                            |   8 +-
 poms/bom/src/main/generated/flattened-full-pom.xml |   4 +-
 .../src/main/generated/flattened-reduced-pom.xml   |   4 +-
 .../generated/flattened-reduced-verbose-pom.xml    |   4 +-
 30 files changed, 281 insertions(+), 327 deletions(-)

diff --git a/docs/antora.yml b/docs/antora.yml
index 19621f99c1..e9b0d526ba 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -31,13 +31,13 @@ asciidoc:
     camel-version: 4.19.0 # replace ${camel.version}
     camel-docs-version: next
     camel-quarkus-version: 3.35.0 # replace ${camel-quarkus.version}
-    quarkus-version: 3.34.1 # replace ${quarkus.version}
+    quarkus-version: 3.35.0.CR1 # replace ${quarkus.version}
     graalvm-version: 23.1.2 # replace ${graalvm.version}
     graalvm-docs-version: jdk21 # replace ${graalvm-docs.version}
     langchain4j-version: 1.12.2 # replace ${langchain4j.version}
     mapstruct-version: 1.6.3 # replace ${mapstruct.version}
     min-maven-version: 3.8.2 # replace ${min-maven-version}
-    target-maven-version: 3.9.12 # replace ${target-maven-version}
+    target-maven-version: 3.9.14 # replace ${target-maven-version}
 
     # Attributes used in xrefs to other Antora components
     cq-camel-components: next@components
diff --git 
a/integration-test-groups/azure/azure-storage-blob/src/test/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobTest.java
 
b/integration-test-groups/azure/azure-storage-blob/src/test/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobTest.java
index ec7f2f59a9..215144ae0e 100644
--- 
a/integration-test-groups/azure/azure-storage-blob/src/test/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobTest.java
+++ 
b/integration-test-groups/azure/azure-storage-blob/src/test/java/org/apache/camel/quarkus/component/azure/storage/blob/it/AzureStorageBlobTest.java
@@ -61,11 +61,9 @@ class AzureStorageBlobTest {
     private static final String BLOB_CONTENT = "Hello Camel Quarkus Azure 
Blob";
 
     @BeforeAll
-    static void beforeAll() {
-        final Config config = ConfigProvider.getConfig();
+    static void beforeAll(Config config) {
         String containerName = config.getValue("azure.blob.container.name", 
String.class);
-        int port = config.getValue("quarkus.http.test-port", int.class);
-        RestAssured.port = port;
+        RestAssured.port = config.getValue("quarkus.http.test-port", 
int.class);
         RestAssured.given()
                 .queryParam("containerName", containerName)
                 .post("/azure-storage-blob/blob/container")
@@ -74,8 +72,7 @@ class AzureStorageBlobTest {
     }
 
     @AfterAll
-    static void afterAll() {
-        final Config config = ConfigProvider.getConfig();
+    static void afterAll(Config config) {
         String containerName = config.getValue("azure.blob.container.name", 
String.class);
         RestAssured.given()
                 .queryParam("containerName", containerName)
diff --git 
a/integration-test-groups/debezium/mongodb/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mongodb/DebeziumMongodbTest.java
 
b/integration-test-groups/debezium/mongodb/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mongodb/DebeziumMongodbTest.java
index 7ff47a7def..3c12c42681 100644
--- 
a/integration-test-groups/debezium/mongodb/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mongodb/DebeziumMongodbTest.java
+++ 
b/integration-test-groups/debezium/mongodb/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mongodb/DebeziumMongodbTest.java
@@ -31,7 +31,6 @@ import 
org.apache.camel.quarkus.test.support.debezium.AbstractDebeziumTest;
 import org.apache.camel.quarkus.test.support.debezium.Type;
 import org.bson.Document;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
@@ -60,9 +59,7 @@ class DebeziumMongodbTest extends AbstractDebeziumTest {
     }
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        Config config = ConfigProvider.getConfig();
-
+    public static void setUp(Config config) {
         final Optional<String> mongoUrl = 
config.getOptionalValue(Type.mongodb.getPropertyJdbc(), String.class);
 
         if (mongoUrl.isPresent()) {
diff --git 
a/integration-test-groups/debezium/mssql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/sqlserv/DebeziumSqlserverTest.java
 
b/integration-test-groups/debezium/mssql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/sqlserv/DebeziumSqlserverTest.java
index cfaa095698..f7b7f2b53d 100644
--- 
a/integration-test-groups/debezium/mssql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/sqlserv/DebeziumSqlserverTest.java
+++ 
b/integration-test-groups/debezium/mssql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/sqlserv/DebeziumSqlserverTest.java
@@ -28,7 +28,6 @@ import 
org.apache.camel.quarkus.test.support.debezium.AbstractDebeziumTest;
 import org.apache.camel.quarkus.test.support.debezium.Record;
 import org.apache.camel.quarkus.test.support.debezium.Type;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.jboss.logging.Logger;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
@@ -54,8 +53,7 @@ class DebeziumSqlserverTest extends AbstractDebeziumTest {
     }
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        Config config = ConfigProvider.getConfig();
+    public static void setUp(Config config) throws SQLException {
         final Optional<String> jdbcUrl = 
config.getOptionalValue(Type.sqlserver.getPropertyJdbc(), String.class);
 
         assumeTrue(jdbcUrl.isPresent(),
@@ -92,8 +90,7 @@ class DebeziumSqlserverTest extends AbstractDebeziumTest {
 
     @Test
     @Order(0)
-    public void testReceiveInitCompany() {
-        Config config = ConfigProvider.getConfig();
+    public void testReceiveInitCompany(Config config) {
         assumeTrue(config.getOptionalValue(Type.sqlserver.getPropertyJdbc(), 
String.class).isPresent());
 
         int i = 0;
diff --git 
a/integration-test-groups/debezium/mysql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mysql/DebeziumMysqlTest.java
 
b/integration-test-groups/debezium/mysql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mysql/DebeziumMysqlTest.java
index e555e27e80..8c8c212c64 100644
--- 
a/integration-test-groups/debezium/mysql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mysql/DebeziumMysqlTest.java
+++ 
b/integration-test-groups/debezium/mysql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/mysql/DebeziumMysqlTest.java
@@ -26,7 +26,6 @@ import io.quarkus.test.junit.QuarkusTest;
 import org.apache.camel.quarkus.test.support.debezium.AbstractDebeziumTest;
 import org.apache.camel.quarkus.test.support.debezium.Type;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assumptions;
 import org.junit.jupiter.api.BeforeAll;
@@ -46,8 +45,7 @@ class DebeziumMysqlTest extends AbstractDebeziumTest {
     }
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        Config config = ConfigProvider.getConfig();
+    public static void setUp(Config config) throws SQLException {
         Optional<String> jdbcUrl = 
config.getOptionalValue(Type.mysql.getPropertyJdbc(), String.class);
 
         try {
diff --git 
a/integration-test-groups/debezium/oracle/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumOracleTest.java
 
b/integration-test-groups/debezium/oracle/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumOracleTest.java
index 5275ff037a..58578ae664 100644
--- 
a/integration-test-groups/debezium/oracle/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumOracleTest.java
+++ 
b/integration-test-groups/debezium/oracle/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumOracleTest.java
@@ -25,7 +25,6 @@ import io.quarkus.test.junit.QuarkusTest;
 import org.apache.camel.quarkus.test.support.debezium.AbstractDebeziumTest;
 import org.apache.camel.quarkus.test.support.debezium.Type;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.jboss.logging.Logger;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.MethodOrderer;
@@ -46,8 +45,7 @@ class DebeziumOracleTest extends AbstractDebeziumTest {
     }
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        Config config = ConfigProvider.getConfig();
+    public static void setUp(Config config) throws SQLException {
         final String jdbcUrl = config.getValue(Type.oracle.getPropertyJdbc(), 
String.class);
         connection = DriverManager.getConnection(jdbcUrl, 
DebeziumOracleTestResource.DB_USERNAME,
                 DebeziumOracleTestResource.DB_PASSWORD);
diff --git 
a/integration-test-groups/debezium/postgresql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumPostgresTest.java
 
b/integration-test-groups/debezium/postgresql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumPostgresTest.java
index 402c201b0d..dd92f423bc 100644
--- 
a/integration-test-groups/debezium/postgresql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumPostgresTest.java
+++ 
b/integration-test-groups/debezium/postgresql/src/test/java/org/apache/camel/quarkus/component/debezium/common/it/postgres/DebeziumPostgresTest.java
@@ -26,7 +26,6 @@ import io.restassured.RestAssured;
 import org.apache.camel.quarkus.test.support.debezium.AbstractDebeziumTest;
 import org.apache.camel.quarkus.test.support.debezium.Type;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.MethodOrderer;
@@ -47,8 +46,7 @@ class DebeziumPostgresTest extends AbstractDebeziumTest {
     }
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        Config config = ConfigProvider.getConfig();
+    public static void setUp(Config config) throws SQLException {
         final String jdbcUrl = 
config.getValue(Type.postgres.getPropertyJdbc(), String.class);
         connection = DriverManager.getConnection(jdbcUrl);
     }
diff --git 
a/integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http/http/it/HttpTest.java
 
b/integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http/http/it/HttpTest.java
index f03f59571a..41912995d1 100644
--- 
a/integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http/http/it/HttpTest.java
+++ 
b/integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http/http/it/HttpTest.java
@@ -27,7 +27,7 @@ import io.smallrye.certs.junit5.Certificate;
 import org.apache.camel.quarkus.component.http.common.AbstractHttpTest;
 import org.apache.camel.quarkus.component.http.common.HttpTestResource;
 import org.apache.camel.quarkus.test.support.certificate.TestCertificates;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
@@ -125,8 +125,7 @@ public class HttpTest extends AbstractHttpTest {
         }
     }
 
-    static Stream<Arguments> proxyProviders() {
-        var config = ConfigProvider.getConfig();
+    static Stream<Arguments> proxyProviders(Config config) {
         String host = config.getValue("proxy.host", String.class);
         int actualPort = config.getValue("proxy.port", Integer.class);
         int fakePort = RestAssured.port;
diff --git 
a/integration-test-groups/mongodb/mongodb/src/test/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbTest.java
 
b/integration-test-groups/mongodb/mongodb/src/test/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbTest.java
index 3dbc48b506..d714c79c21 100644
--- 
a/integration-test-groups/mongodb/mongodb/src/test/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbTest.java
+++ 
b/integration-test-groups/mongodb/mongodb/src/test/java/org/apache/camel/quarkus/component/mongodb/it/MongoDbTest.java
@@ -35,7 +35,7 @@ import 
org.apache.camel.quarkus.test.support.mongodb.MongoDbConstants;
 import org.apache.camel.quarkus.test.support.mongodb.MongoDbTestResource;
 import org.apache.camel.util.CollectionHelper;
 import org.bson.Document;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.jboss.logging.Logger;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
@@ -65,8 +65,8 @@ class MongoDbTest {
     private static MongoDatabase db;
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        final String mongoUrl = "mongodb://" + 
ConfigProvider.getConfig().getValue("quarkus.mongodb.hosts", String.class);
+    public static void setUp(Config config) throws SQLException {
+        final String mongoUrl = "mongodb://" + 
config.getValue("quarkus.mongodb.hosts", String.class);
 
         mongoClient = MongoClients.create(mongoUrl);
         db = mongoClient.getDatabase("test");
diff --git 
a/integration-tests-support/kafka/src/main/java/org/apache/camel/quarkus/test/support/kafka/KafkaTestResource.java
 
b/integration-tests-support/kafka/src/main/java/org/apache/camel/quarkus/test/support/kafka/KafkaTestResource.java
index c4446c65d2..01dd7dc08d 100644
--- 
a/integration-tests-support/kafka/src/main/java/org/apache/camel/quarkus/test/support/kafka/KafkaTestResource.java
+++ 
b/integration-tests-support/kafka/src/main/java/org/apache/camel/quarkus/test/support/kafka/KafkaTestResource.java
@@ -21,36 +21,40 @@ import java.util.Map;
 import java.util.function.Function;
 
 import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
+import io.strimzi.test.container.StrimziKafkaCluster;
 import io.strimzi.test.container.StrimziKafkaContainer;
 import org.eclipse.microprofile.config.ConfigProvider;
 
 public class KafkaTestResource implements QuarkusTestResourceLifecycleManager {
     protected static final String KAFKA_IMAGE_NAME = 
ConfigProvider.getConfig().getValue("kafka.container.image", String.class);
+    private StrimziKafkaCluster cluster;
     private StrimziKafkaContainer container;
 
     @Override
     public Map<String, String> start() {
         try {
-            start(name -> new StrimziKafkaContainer(name));
+            start(name -> new StrimziKafkaCluster.StrimziKafkaClusterBuilder()
+                    .withImage(name)
+                    .withContainerCustomizer(c -> c.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String())))
+                    .build());
             return Collections.singletonMap("camel.component.kafka.brokers", 
container.getBootstrapServers());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
     }
 
-    public String start(Function<String, StrimziKafkaContainer> 
containerSupplier) {
-        container = containerSupplier.apply(KAFKA_IMAGE_NAME);
-        container.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String()))
-                .waitForRunning()
-                .start();
+    public String start(Function<String, StrimziKafkaCluster> clusterSupplier) 
{
+        cluster = clusterSupplier.apply(KAFKA_IMAGE_NAME);
+        cluster.start();
+        container = cluster.getBrokers().stream().findFirst().orElseThrow();
         return container.getBootstrapServers();
     }
 
     @Override
     public void stop() {
-        if (container != null) {
+        if (cluster != null) {
             try {
-                container.stop();
+                cluster.stop();
             } catch (Exception e) {
                 // ignored
             }
diff --git 
a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
 
b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
index aab9c737e8..b04b5c3ba9 100644
--- 
a/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
+++ 
b/integration-tests/arangodb/src/test/java/org/apache/camel/quarkus/component/arangodb/it/ArangodbTest.java
@@ -24,7 +24,7 @@ import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -118,9 +118,9 @@ class ArangodbTest {
     }
 
     @BeforeAll
-    public static void setup() {
-        String host = 
ConfigProvider.getConfig().getValue("camel.arangodb.host", String.class);
-        Integer port = 
ConfigProvider.getConfig().getValue("camel.arangodb.port", Integer.class);
+    public static void setup(Config config) {
+        String host = config.getValue("camel.arangodb.host", String.class);
+        Integer port = config.getValue("camel.arangodb.port", Integer.class);
         arangoDb = new ArangoDB.Builder().host(host, port).build();
         arangoDb.createDatabase(DATABASE_NAME);
         ArangoDatabase arangoDatabase = arangoDb.db(DATABASE_NAME);
diff --git 
a/integration-tests/jira/src/test/java/org/apache/camel/quarkus/component/jira/it/JiraTest.java
 
b/integration-tests/jira/src/test/java/org/apache/camel/quarkus/component/jira/it/JiraTest.java
index f8c84045ed..9a9fa5881f 100644
--- 
a/integration-tests/jira/src/test/java/org/apache/camel/quarkus/component/jira/it/JiraTest.java
+++ 
b/integration-tests/jira/src/test/java/org/apache/camel/quarkus/component/jira/it/JiraTest.java
@@ -38,7 +38,6 @@ import io.restassured.path.json.JsonPath;
 import org.apache.camel.component.jira.oauth.JiraOAuthAuthenticationHandler;
 import 
org.apache.camel.component.jira.oauth.OAuthAsynchronousJiraRestClientFactory;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -52,7 +51,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @QuarkusTest
 @QuarkusTestResource(JiraTestResource.class)
 public class JiraTest {
-
     private static final String ISSUE_ATTACHMENT = "Camel Quarkus Test Issue 
Attachment";
     private static final String ISSUE_COMMENT = "Camel Quarkus Test Issue 
Comment";
     private static final String ISSUE_DESCRIPTION = "Camel Quarkus Test Issue 
Description";
@@ -60,10 +58,10 @@ public class JiraTest {
     private static final String ISSUE_TYPE = "Task";
     private static final String UPDATED_ISSUE_SUMMARY = "Updated summary";
     private static JiraRestClient REST_CLIENT;
+    Config config;
 
     @BeforeAll
-    public static void beforeAll() {
-        Config config = ConfigProvider.getConfig();
+    public static void beforeAll(Config config) {
         String jiraUrl = config.getValue("camel.component.jira.jira-url", 
String.class);
         Optional<String> username = 
config.getOptionalValue("camel.component.jira.username", String.class);
         Optional<String> password = 
config.getOptionalValue("camel.component.jira.password", String.class);
@@ -459,9 +457,8 @@ public class JiraTest {
         }
     }
 
-    private static JiraRestClient getClient() {
+    private JiraRestClient getClient() {
         if (REST_CLIENT == null) {
-            Config config = ConfigProvider.getConfig();
             String jiraUrl = config.getValue("camel.component.jira.jira-url", 
String.class);
             Optional<String> username = 
config.getOptionalValue("camel.component.jira.username", String.class);
             Optional<String> password = 
config.getOptionalValue("camel.component.jira.password", String.class);
diff --git 
a/integration-tests/jms-artemis-client/src/test/java/org/apache/camel/quarkus/component/jms/artemis/it/JmsArtemisXATest.java
 
b/integration-tests/jms-artemis-client/src/test/java/org/apache/camel/quarkus/component/jms/artemis/it/JmsArtemisXATest.java
index 2c7cc28148..13e03213db 100644
--- 
a/integration-tests/jms-artemis-client/src/test/java/org/apache/camel/quarkus/component/jms/artemis/it/JmsArtemisXATest.java
+++ 
b/integration-tests/jms-artemis-client/src/test/java/org/apache/camel/quarkus/component/jms/artemis/it/JmsArtemisXATest.java
@@ -19,7 +19,7 @@ package org.apache.camel.quarkus.component.jms.artemis.it;
 import io.quarkus.test.junit.QuarkusTest;
 import io.quarkus.test.junit.TestProfile;
 import io.restassured.RestAssured;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -29,10 +29,10 @@ import static org.hamcrest.core.Is.is;
 @TestProfile(JmsArtemisXAEnabled.class)
 public class JmsArtemisXATest {
     @BeforeAll
-    public static void startRoutes() {
+    public static void startRoutes(Config config) {
         RestAssured.given()
                 // see AbstractMessagingTest#beforeAll
-                
.port(ConfigProvider.getConfig().getValue("quarkus.http.test-port", 
Integer.class))
+                .port(config.getValue("quarkus.http.test-port", Integer.class))
                 .get("/messaging/jms/artemis/routes/start");
     }
 
diff --git 
a/integration-tests/jpa/src/test/java/org/apache/camel/quarkus/component/jpa/it/JpaTestBase.java
 
b/integration-tests/jpa/src/test/java/org/apache/camel/quarkus/component/jpa/it/JpaTestBase.java
index 461b47e697..19bc6b190f 100644
--- 
a/integration-tests/jpa/src/test/java/org/apache/camel/quarkus/component/jpa/it/JpaTestBase.java
+++ 
b/integration-tests/jpa/src/test/java/org/apache/camel/quarkus/component/jpa/it/JpaTestBase.java
@@ -25,7 +25,6 @@ import jakarta.json.bind.Jsonb;
 import jakarta.json.bind.JsonbBuilder;
 import org.apache.camel.quarkus.component.jpa.it.model.Fruit;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -42,10 +41,8 @@ public class JpaTestBase {
     static final String[] FRUITS = new String[] { "Orange", "Lemon", "Plum" };
 
     @BeforeAll
-    public static void storeFruits() {
-        final Config config = ConfigProvider.getConfig();
-        int port = config.getValue("quarkus.http.test-port", int.class);
-        RestAssured.port = port;
+    public static void storeFruits(Config config) {
+        RestAssured.port = config.getValue("quarkus.http.test-port", 
int.class);
         for (String fruit : FRUITS) {
             RestAssured.given()
                     .contentType(ContentType.JSON)
diff --git 
a/integration-tests/kafka-oauth/src/test/java/org/apache/camel/quarkus/kafka/oauth/it/KafkaKeycloakTestResource.java
 
b/integration-tests/kafka-oauth/src/test/java/org/apache/camel/quarkus/kafka/oauth/it/KafkaKeycloakTestResource.java
index bebbd44260..4c68f5b3c3 100644
--- 
a/integration-tests/kafka-oauth/src/test/java/org/apache/camel/quarkus/kafka/oauth/it/KafkaKeycloakTestResource.java
+++ 
b/integration-tests/kafka-oauth/src/test/java/org/apache/camel/quarkus/kafka/oauth/it/KafkaKeycloakTestResource.java
@@ -27,6 +27,7 @@ import java.util.Map;
 import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 import io.quarkus.test.keycloak.client.KeycloakTestClient;
 import io.quarkus.test.keycloak.server.KeycloakContainer;
+import io.strimzi.test.container.StrimziKafkaCluster;
 import io.strimzi.test.container.StrimziKafkaContainer;
 import org.apache.commons.io.IOUtils;
 import org.eclipse.microprofile.config.ConfigProvider;
@@ -43,6 +44,7 @@ public class KafkaKeycloakTestResource implements 
QuarkusTestResourceLifecycleMa
 
     private static final Logger LOG = 
Logger.getLogger(KafkaKeycloakTestResource.class);
     private static final String REALM_JSON = 
"keycloak/realms/kafka-authz-realm.json";
+    private StrimziKafkaCluster kafkaCluster;
     private StrimziKafkaContainer kafka;
     private KeycloakContainer keycloak;
 
@@ -85,10 +87,13 @@ public class KafkaKeycloakTestResource implements 
QuarkusTestResourceLifecycleMa
 
         //Start kafka container
         String imageName = 
ConfigProvider.getConfig().getValue("kafka.container.image", String.class);
-        this.kafka = new StrimziKafkaContainer(imageName)
-                .withBrokerId(1)
-                .withKafkaConfigurationMap(Map.ofEntries(
-                        entry("listener.security.protocol.map", 
"JWT:SASL_PLAINTEXT,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT"),
+        this.kafkaCluster = new 
StrimziKafkaCluster.StrimziKafkaClusterBuilder()
+                .withImage(imageName)
+                .withSharedNetwork()
+                .withBootstrapServers(c -> String.format("JWT://%s:%s", 
c.getHost(), c.getMappedPort(KAFKA_PORT)))
+                .withAdditionalKafkaConfiguration(Map.ofEntries(
+                        entry("listener.security.protocol.map",
+                                
"JWT:SASL_PLAINTEXT,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT"),
                         entry("listener.name.jwt.oauthbearer.sasl.jaas.config",
                                 
getOauthSaslJaasConfig(keycloak.getInternalUrl(), keycloak.getServerUrl())),
                         entry("listener.name.jwt.plain.sasl.jaas.config",
@@ -104,10 +109,12 @@ public class KafkaKeycloakTestResource implements 
QuarkusTestResourceLifecycleMa
                                 
"io.strimzi.kafka.oauth.client.JaasClientOauthLoginCallbackHandler"),
                         
entry("listener.name.jwt.plain.sasl.server.callback.handler.class",
                                 
"io.strimzi.kafka.oauth.server.plain.JaasServerOauthOverPlainValidatorCallbackHandler")))
-                .withNetworkAliases("kafka")
-                .withBootstrapServers(
-                        c -> String.format("JWT://%s:%s", c.getHost(), 
c.getMappedPort(KAFKA_PORT)));
-        this.kafka.start();
+                .withContainerCustomizer(container -> {
+                    container.withNetworkAliases("kafka");
+                })
+                .build();
+        this.kafkaCluster.start();
+        this.kafka = 
this.kafkaCluster.getBrokers().stream().findFirst().orElseThrow();
         LOG.info(this.kafka.getLogs());
 
         properties.put("kafka.bootstrap.servers", 
this.kafka.getBootstrapServers());
@@ -122,8 +129,8 @@ public class KafkaKeycloakTestResource implements 
QuarkusTestResourceLifecycleMa
 
     @Override
     public void stop() {
-        if (kafka != null) {
-            kafka.stop();
+        if (kafkaCluster != null) {
+            kafkaCluster.stop();
         }
         if (keycloak != null) {
             keycloak.stop();
diff --git 
a/integration-tests/kafka-sasl-ssl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslSslTestResource.java
 
b/integration-tests/kafka-sasl-ssl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslSslTestResource.java
index ab1e9b34c7..5e0268a149 100644
--- 
a/integration-tests/kafka-sasl-ssl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslSslTestResource.java
+++ 
b/integration-tests/kafka-sasl-ssl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslSslTestResource.java
@@ -23,14 +23,17 @@ import java.util.function.Consumer;
 import java.util.stream.Stream;
 
 import com.github.dockerjava.api.command.CreateContainerCmd;
-import com.github.dockerjava.api.command.InspectContainerResponse;
+import io.strimzi.test.container.StrimziKafkaCluster;
 import io.strimzi.test.container.StrimziKafkaContainer;
 import org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
 import org.apache.camel.util.CollectionHelper;
 import org.jboss.logging.Logger;
+import org.testcontainers.containers.Container;
 import org.testcontainers.images.builder.Transferable;
 import org.testcontainers.utility.MountableFile;
 
+import static io.strimzi.test.container.StrimziKafkaContainer.KAFKA_PORT;
+
 public class KafkaSaslSslTestResource extends KafkaTestResource {
     static final Logger LOG = Logger.getLogger(KafkaSaslSslTestResource.class);
     static final String KAFKA_KEYSTORE_PASSWORD = "changeit";
@@ -44,9 +47,76 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
     static final String KAFKA_KEYSTORE_TYPE = "PKCS12";
     static final String KAFKA_TRUSTSTORE_FILE = KAFKA_HOSTNAME + 
"-truststore.p12";
 
+    private StrimziKafkaCluster cluster;
+    private StrimziKafkaContainer container;
+
     @Override
     public Map<String, String> start() {
-        String bootstrapServers = start(name -> new 
SaslSslKafkaContainer(name));
+        String protocolMap = 
"SASL_SSL:SASL_SSL,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT";
+        Map<String, String> config = Map.ofEntries(
+                Map.entry("inter.broker.listener.name", "BROKER1"),
+                Map.entry("listener.security.protocol.map", protocolMap),
+                Map.entry("sasl.enabled.mechanisms", "SCRAM-SHA-512"),
+                Map.entry("sasl.mechanism.inter.broker.protocol", 
"SCRAM-SHA-512"),
+                Map.entry("ssl.keystore.location", "/etc/kafka/secrets/" + 
KAFKA_KEYSTORE_FILE),
+                Map.entry("ssl.keystore.password", KAFKA_KEYSTORE_PASSWORD),
+                Map.entry("ssl.keystore.type", KAFKA_KEYSTORE_TYPE),
+                Map.entry("ssl.truststore.location", "/etc/kafka/secrets/" + 
KAFKA_TRUSTSTORE_FILE),
+                Map.entry("ssl.truststore.password", KAFKA_KEYSTORE_PASSWORD),
+                Map.entry("ssl.truststore.type", KAFKA_KEYSTORE_TYPE),
+                Map.entry("ssl.endpoint.identification.algorithm", ""));
+
+        String setupUsersScript = "#!/bin/bash\n"
+                + "/opt/kafka/bin/kafka-configs.sh"
+                + " --bootstrap-server :9091"
+                + " --alter --add-config 
'SCRAM-SHA-512=[iterations=8192,password=" + ALICE_PASSWORD
+                + "]' --entity-type users --entity-name alice";
+
+        cluster = new StrimziKafkaCluster.StrimziKafkaClusterBuilder()
+                .withImage(KAFKA_IMAGE_NAME)
+                .withAdditionalKafkaConfiguration(config)
+                .withBootstrapServers(c -> String.format("SASL_SSL://%s:%s", 
c.getHost(), c.getMappedPort(KAFKA_PORT)))
+                .withContainerCustomizer(container -> {
+                    container.withEnv("KAFKA_OPTS", 
"-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf");
+                    container.withCreateContainerCmdModifier(new 
Consumer<CreateContainerCmd>() {
+                        @Override
+                        public void accept(CreateContainerCmd 
createContainerCmd) {
+                            createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
+                            
createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
+                        }
+                    });
+                    container.withEnv("KAFKA_HEAP_OPTS", "-Xmx512m -Xms256m");
+                    container.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String()));
+                    container.withCopyFileToContainer(
+                            
MountableFile.forClasspathResource("config/kafka_server_jaas.conf"),
+                            "/etc/kafka/kafka_server_jaas.conf");
+                    Stream.of(KAFKA_KEYSTORE_FILE, KAFKA_TRUSTSTORE_FILE)
+                            .forEach(keyStoreFile -> {
+                                container.withCopyFileToContainer(
+                                        
MountableFile.forHostPath(Path.of(CERTS_BASEDIR).resolve(keyStoreFile)),
+                                        "/etc/kafka/secrets/" + keyStoreFile);
+                            });
+                    container.withCopyToContainer(
+                            
Transferable.of(setupUsersScript.getBytes(StandardCharsets.UTF_8), 0775),
+                            "/setup-users.sh");
+                })
+                .build();
+        cluster.start();
+        container = cluster.getBrokers().stream().findFirst().orElseThrow();
+
+        // Execute setup script after container starts
+        try {
+            Container.ExecResult execResult = 
container.execInContainer("/setup-users.sh");
+            if (execResult.getExitCode() != 0) {
+                LOG.warnf("Execution of setup-users.sh failed with exit code 
%d", execResult.getExitCode());
+                LOG.warnf("STDOUT: %s", execResult.getStdout());
+                LOG.warnf("STDERR: %s", execResult.getStderr());
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        String bootstrapServers = container.getBootstrapServers();
 
         String jaasConfig = 
"org.apache.kafka.common.security.scram.ScramLoginModule required "
                 + "username=\"alice\" "
@@ -67,87 +137,13 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
                 "camel.component.kafka.ssl-truststore-type", 
KAFKA_KEYSTORE_TYPE);
     }
 
-    // KafkaContainer does not support SASL SSL OOTB so we need some 
customizations
-    static final class SaslSslKafkaContainer extends StrimziKafkaContainer {
-        SaslSslKafkaContainer(final String dockerImageName) {
-            super(dockerImageName);
-        }
-
-        @Override
-        public String getBootstrapServers() {
-            return String.format("SASL_SSL://%s:%s", getHost(), 
getMappedPort(KAFKA_PORT));
-        }
-
-        @Override
-        protected void configure() {
-            super.configure();
-
-            String protocolMap = 
"SASL_SSL:SASL_SSL,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT";
-            Map<String, String> config = Map.ofEntries(
-                    Map.entry("inter.broker.listener.name", "BROKER1"),
-                    Map.entry("listener.security.protocol.map", protocolMap),
-                    Map.entry("sasl.enabled.mechanisms", "SCRAM-SHA-512"),
-                    Map.entry("sasl.mechanism.inter.broker.protocol", 
"SCRAM-SHA-512"),
-                    Map.entry("ssl.keystore.location", "/etc/kafka/secrets/" + 
KAFKA_KEYSTORE_FILE),
-                    Map.entry("ssl.keystore.password", 
KAFKA_KEYSTORE_PASSWORD),
-                    Map.entry("ssl.keystore.type", KAFKA_KEYSTORE_TYPE),
-                    Map.entry("ssl.truststore.location", "/etc/kafka/secrets/" 
+ KAFKA_TRUSTSTORE_FILE),
-                    Map.entry("ssl.truststore.password", 
KAFKA_KEYSTORE_PASSWORD),
-                    Map.entry("ssl.truststore.type", KAFKA_KEYSTORE_TYPE),
-                    Map.entry("ssl.endpoint.identification.algorithm", ""));
-
-            withEnv("KAFKA_OPTS", 
"-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf");
-            withCreateContainerCmdModifier(new Consumer<CreateContainerCmd>() {
-                @Override
-                public void accept(CreateContainerCmd createContainerCmd) {
-                    createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
-                    createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
-                }
-            });
-            withBrokerId(1);
-            withNodeId(1);
-            withKafkaConfigurationMap(config);
-            withEnv("KAFKA_HEAP_OPTS", "-Xmx512m -Xms256m");
-            withLogConsumer(frame -> System.out.print(frame.getUtf8String()));
-        }
-
-        @Override
-        protected void containerIsStarting(InspectContainerResponse 
containerInfo, boolean reused) {
-            super.containerIsStarting(containerInfo, reused);
-            copyFileToContainer(
-                    
MountableFile.forClasspathResource("config/kafka_server_jaas.conf"),
-                    "/etc/kafka/kafka_server_jaas.conf");
-
-            Stream.of(KAFKA_KEYSTORE_FILE, KAFKA_TRUSTSTORE_FILE)
-                    .forEach(keyStoreFile -> {
-                        copyFileToContainer(
-                                
MountableFile.forHostPath(Path.of(CERTS_BASEDIR).resolve(keyStoreFile)),
-                                "/etc/kafka/secrets/" + keyStoreFile);
-                    });
-
-            String setupUsersScript = "#!/bin/bash\n"
-                    + "/opt/kafka/bin/kafka-configs.sh"
-                    + " --bootstrap-server :" + INTER_BROKER_LISTENER_PORT
-                    + " --alter --add-config 
'SCRAM-SHA-512=[iterations=8192,password=" + ALICE_PASSWORD
-                    + "]' --entity-type users --entity-name alice";
-
-            copyFileToContainer(
-                    
Transferable.of(setupUsersScript.getBytes(StandardCharsets.UTF_8), 0775),
-                    "/setup-users.sh");
-        }
-
-        @Override
-        protected void containerIsStarted(InspectContainerResponse 
containerInfo) {
-            super.containerIsStarted(containerInfo);
+    @Override
+    public void stop() {
+        if (cluster != null) {
             try {
-                ExecResult execResult = execInContainer("/setup-users.sh");
-                if (execResult.getExitCode() != 0) {
-                    LOG.warnf("Execution of setup-users.sh failed with exit 
code %d", execResult.getExitCode());
-                    LOG.warnf("STDOUT: %s", execResult.getStdout());
-                    LOG.warnf("STDERR: %s", execResult.getStderr());
-                }
+                cluster.stop();
             } catch (Exception e) {
-                throw new RuntimeException(e);
+                // Ignored
             }
         }
     }
diff --git 
a/integration-tests/kafka-sasl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslTestResource.java
 
b/integration-tests/kafka-sasl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslTestResource.java
index 444edfb7f3..f264046379 100644
--- 
a/integration-tests/kafka-sasl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslTestResource.java
+++ 
b/integration-tests/kafka-sasl/src/test/java/org/apache/camel/quarkus/kafka/sasl/KafkaSaslTestResource.java
@@ -25,7 +25,7 @@ import java.util.function.Consumer;
 import java.util.stream.Stream;
 
 import com.github.dockerjava.api.command.CreateContainerCmd;
-import com.github.dockerjava.api.command.InspectContainerResponse;
+import io.strimzi.test.container.StrimziKafkaCluster;
 import io.strimzi.test.container.StrimziKafkaContainer;
 import org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
 import org.apache.camel.util.CollectionHelper;
@@ -33,11 +33,14 @@ import org.apache.commons.io.FileUtils;
 import org.apache.kafka.clients.CommonClientConfigs;
 import org.testcontainers.utility.MountableFile;
 
+import static io.strimzi.test.container.StrimziKafkaContainer.KAFKA_PORT;
+
 public class KafkaSaslTestResource extends KafkaTestResource {
     static final String KAFKA_BROKER_HOSTNAME = "broker-1";
 
     private Path serviceBindingDir;
-    private SaslKafkaContainer container;
+    private StrimziKafkaCluster cluster;
+    private StrimziKafkaContainer container;
 
     @Override
     public Map<String, String> start() {
@@ -59,9 +62,35 @@ public class KafkaSaslTestResource extends KafkaTestResource 
{
             throw new RuntimeException(e);
         }
 
-        container = new SaslKafkaContainer(KAFKA_IMAGE_NAME);
-        container.waitForRunning();
-        container.start();
+        String protocolMap = 
"SASL_PLAINTEXT:SASL_PLAINTEXT,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT";
+        Map<String, String> config = Map.ofEntries(
+                Map.entry("inter.broker.listener.name", "BROKER1"),
+                Map.entry("listener.security.protocol.map", protocolMap),
+                Map.entry("zookeeper.sasl.enabled", "false"),
+                Map.entry("sasl.enabled.mechanisms", "PLAIN"),
+                Map.entry("sasl.mechanism.inter.broker.protocol", "PLAIN"));
+
+        cluster = new StrimziKafkaCluster.StrimziKafkaClusterBuilder()
+                .withImage(KAFKA_IMAGE_NAME)
+                .withAdditionalKafkaConfiguration(config)
+                .withBootstrapServers(c -> 
String.format("SASL_PLAINTEXT://%s:%s", c.getHost(), 
c.getMappedPort(KAFKA_PORT)))
+                .withContainerCustomizer(container -> {
+                    container.withEnv("KAFKA_OPTS", 
"-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf");
+                    container.withCreateContainerCmdModifier(new 
Consumer<CreateContainerCmd>() {
+                        @Override
+                        public void accept(CreateContainerCmd 
createContainerCmd) {
+                            createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
+                            
createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
+                        }
+                    });
+                    container.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String()));
+                    container.withCopyFileToContainer(
+                            
MountableFile.forClasspathResource("config/kafka_server_jaas.conf"),
+                            "/etc/kafka/kafka_server_jaas.conf");
+                })
+                .build();
+        cluster.start();
+        container = cluster.getBrokers().stream().findFirst().orElseThrow();
         return CollectionHelper.mapOf(
                 "kafka." + CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, 
container.getBootstrapServers(),
                 "quarkus.kubernetes-service-binding.root", 
serviceBindingDir.toString());
@@ -69,59 +98,13 @@ public class KafkaSaslTestResource extends 
KafkaTestResource {
 
     @Override
     public void stop() {
-        if (this.container != null) {
+        if (this.cluster != null) {
             try {
-                this.container.stop();
+                this.cluster.stop();
                 FileUtils.deleteDirectory(serviceBindingDir.toFile());
             } catch (Exception e) {
                 // Ignored
             }
         }
     }
-
-    // KafkaContainer does not support SASL OOTB so we need some customizations
-    static final class SaslKafkaContainer extends StrimziKafkaContainer {
-        SaslKafkaContainer(final String dockerImageName) {
-            super(dockerImageName);
-        }
-
-        @Override
-        public String getBootstrapServers() {
-            return String.format("SASL_PLAINTEXT://%s:%s", getHost(), 
getMappedPort(KAFKA_PORT));
-        }
-
-        @Override
-        protected void configure() {
-            super.configure();
-
-            String protocolMap = 
"SASL_PLAINTEXT:SASL_PLAINTEXT,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT";
-            Map<String, String> config = Map.ofEntries(
-                    Map.entry("inter.broker.listener.name", "BROKER1"),
-                    Map.entry("listener.security.protocol.map", protocolMap),
-                    Map.entry("zookeeper.sasl.enabled", "false"),
-                    Map.entry("sasl.enabled.mechanisms", "PLAIN"),
-                    Map.entry("sasl.mechanism.inter.broker.protocol", 
"PLAIN"));
-
-            withEnv("KAFKA_OPTS", 
"-Djava.security.auth.login.config=/etc/kafka/kafka_server_jaas.conf");
-            withCreateContainerCmdModifier(new Consumer<CreateContainerCmd>() {
-                @Override
-                public void accept(CreateContainerCmd createContainerCmd) {
-                    createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
-                    createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
-                }
-            });
-            withBrokerId(1);
-            withNodeId(1);
-            withKafkaConfigurationMap(config);
-            withLogConsumer(frame -> System.out.print(frame.getUtf8String()));
-        }
-
-        @Override
-        protected void containerIsStarting(InspectContainerResponse 
containerInfo, boolean reused) {
-            super.containerIsStarting(containerInfo, reused);
-            copyFileToContainer(
-                    
MountableFile.forClasspathResource("config/kafka_server_jaas.conf"),
-                    "/etc/kafka/kafka_server_jaas.conf");
-        }
-    }
 }
diff --git 
a/integration-tests/kafka-ssl/src/test/java/org/apache/camel/quarkus/kafka/ssl/KafkaSslTestResource.java
 
b/integration-tests/kafka-ssl/src/test/java/org/apache/camel/quarkus/kafka/ssl/KafkaSslTestResource.java
index 5d0e05eeea..11cc30c95f 100644
--- 
a/integration-tests/kafka-ssl/src/test/java/org/apache/camel/quarkus/kafka/ssl/KafkaSslTestResource.java
+++ 
b/integration-tests/kafka-ssl/src/test/java/org/apache/camel/quarkus/kafka/ssl/KafkaSslTestResource.java
@@ -22,13 +22,14 @@ import java.util.function.Consumer;
 import java.util.stream.Stream;
 
 import com.github.dockerjava.api.command.CreateContainerCmd;
-import com.github.dockerjava.api.command.InspectContainerResponse;
-import io.strimzi.test.container.StrimziKafkaContainer;
+import io.strimzi.test.container.StrimziKafkaCluster;
 import org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
 import org.apache.camel.util.CollectionHelper;
 import org.apache.kafka.clients.CommonClientConfigs;
 import org.testcontainers.utility.MountableFile;
 
+import static io.strimzi.test.container.StrimziKafkaContainer.KAFKA_PORT;
+
 public class KafkaSslTestResource extends KafkaTestResource {
 
     static final String KAFKA_KEYSTORE_PASSWORD = "changeit";
@@ -43,37 +44,7 @@ public class KafkaSslTestResource extends KafkaTestResource {
     @Override
     public Map<String, String> start() {
 
-        String bootstrapServers = start(name -> new SSLKafkaContainer(name));
-
-        return CollectionHelper.mapOf(
-                "kafka." + CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, 
bootstrapServers,
-                "camel.component.kafka.brokers", bootstrapServers,
-                "camel.component.kafka.security-protocol", "SSL",
-                "camel.component.kafka.ssl-key-password", 
KAFKA_KEYSTORE_PASSWORD,
-                "camel.component.kafka.ssl-keystore-location", 
Path.of(CERTS_BASEDIR).resolve(KAFKA_KEYSTORE_FILE).toString(),
-                "camel.component.kafka.ssl-keystore-password", 
KAFKA_KEYSTORE_PASSWORD,
-                "camel.component.kafka.ssl-keystore-type", KAFKA_KEYSTORE_TYPE,
-                "camel.component.kafka.ssl-truststore-location",
-                
Path.of(CERTS_BASEDIR).resolve(KAFKA_TRUSTSTORE_FILE).toString(),
-                "camel.component.kafka.ssl-truststore-password", 
KAFKA_KEYSTORE_PASSWORD,
-                "camel.component.kafka.ssl-truststore-type", 
KAFKA_KEYSTORE_TYPE);
-    }
-
-    // KafkaContainer does not support SSL OOTB so we need some customizations
-    static final class SSLKafkaContainer extends StrimziKafkaContainer {
-        SSLKafkaContainer(final String dockerImageName) {
-            super(dockerImageName);
-        }
-
-        @Override
-        public String getBootstrapServers() {
-            return String.format("SSL://%s:%s", getHost(), 
getMappedPort(KAFKA_PORT));
-        }
-
-        @Override
-        protected void configure() {
-            super.configure();
-
+        String bootstrapServers = start(name -> {
             String protocolMap = 
"SSL:SSL,BROKER1:PLAINTEXT,CONTROLLER:PLAINTEXT";
             Map<String, String> config = Map.ofEntries(
                     Map.entry("inter.broker.listener.name", "BROKER1"),
@@ -86,29 +57,40 @@ public class KafkaSslTestResource extends KafkaTestResource 
{
                     Map.entry("ssl.truststore.type", KAFKA_KEYSTORE_TYPE),
                     Map.entry("ssl.endpoint.identification.algorithm", ""));
 
-            withCreateContainerCmdModifier(new Consumer<CreateContainerCmd>() {
-                @Override
-                public void accept(CreateContainerCmd createContainerCmd) {
-                    createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
-                    createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
-                }
-            });
-            withBrokerId(1);
-            withNodeId(1);
-            withKafkaConfigurationMap(config);
-            withLogConsumer(frame -> System.out.print(frame.getUtf8String()));
-        }
-
-        @Override
-        protected void containerIsStarting(InspectContainerResponse 
containerInfo, boolean reused) {
-            super.containerIsStarting(containerInfo, reused);
+            return new StrimziKafkaCluster.StrimziKafkaClusterBuilder()
+                    .withImage(name)
+                    .withAdditionalKafkaConfiguration(config)
+                    .withBootstrapServers(c -> String.format("SSL://%s:%s", 
c.getHost(), c.getMappedPort(KAFKA_PORT)))
+                    .withContainerCustomizer(container -> {
+                        container.withCreateContainerCmdModifier(new 
Consumer<CreateContainerCmd>() {
+                            @Override
+                            public void accept(CreateContainerCmd 
createContainerCmd) {
+                                
createContainerCmd.withName(KAFKA_BROKER_HOSTNAME);
+                                
createContainerCmd.withHostName(KAFKA_BROKER_HOSTNAME);
+                            }
+                        });
+                        container.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String()));
+                        Stream.of(KAFKA_KEYSTORE_FILE, KAFKA_TRUSTSTORE_FILE)
+                                .forEach(keyStoreFile -> {
+                                    container.withCopyFileToContainer(
+                                            
MountableFile.forHostPath(Path.of(CERTS_BASEDIR).resolve(keyStoreFile)),
+                                            "/etc/kafka/secrets/" + 
keyStoreFile);
+                                });
+                    })
+                    .build();
+        });
 
-            Stream.of(KAFKA_KEYSTORE_FILE, KAFKA_TRUSTSTORE_FILE)
-                    .forEach(keyStoreFile -> {
-                        copyFileToContainer(
-                                
MountableFile.forHostPath(Path.of(CERTS_BASEDIR).resolve(keyStoreFile)),
-                                "/etc/kafka/secrets/" + keyStoreFile);
-                    });
-        }
+        return CollectionHelper.mapOf(
+                "kafka." + CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, 
bootstrapServers,
+                "camel.component.kafka.brokers", bootstrapServers,
+                "camel.component.kafka.security-protocol", "SSL",
+                "camel.component.kafka.ssl-key-password", 
KAFKA_KEYSTORE_PASSWORD,
+                "camel.component.kafka.ssl-keystore-location", 
Path.of(CERTS_BASEDIR).resolve(KAFKA_KEYSTORE_FILE).toString(),
+                "camel.component.kafka.ssl-keystore-password", 
KAFKA_KEYSTORE_PASSWORD,
+                "camel.component.kafka.ssl-keystore-type", KAFKA_KEYSTORE_TYPE,
+                "camel.component.kafka.ssl-truststore-location",
+                
Path.of(CERTS_BASEDIR).resolve(KAFKA_TRUSTSTORE_FILE).toString(),
+                "camel.component.kafka.ssl-truststore-password", 
KAFKA_KEYSTORE_PASSWORD,
+                "camel.component.kafka.ssl-truststore-type", 
KAFKA_KEYSTORE_TYPE);
     }
 }
diff --git 
a/integration-tests/kudu/src/test/java/org/apache/camel/quarkus/component/kudu/it/KuduTest.java
 
b/integration-tests/kudu/src/test/java/org/apache/camel/quarkus/component/kudu/it/KuduTest.java
index 4e0aad2f14..958b969615 100644
--- 
a/integration-tests/kudu/src/test/java/org/apache/camel/quarkus/component/kudu/it/KuduTest.java
+++ 
b/integration-tests/kudu/src/test/java/org/apache/camel/quarkus/component/kudu/it/KuduTest.java
@@ -25,7 +25,7 @@ import io.restassured.http.ContentType;
 import org.apache.camel.quarkus.test.DisabledIfFipsMode;
 import org.apache.kudu.client.KuduClient;
 import org.apache.kudu.client.KuduException;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.jboss.logging.Logger;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.AfterEach;
@@ -47,8 +47,8 @@ class KuduTest {
     static KuduClient client;
 
     @BeforeAll
-    static void setup() {
-        String authority = 
ConfigProvider.getConfig().getValue(KUDU_AUTHORITY_CONFIG_KEY, String.class);
+    static void setup(Config config) {
+        String authority = config.getValue(KUDU_AUTHORITY_CONFIG_KEY, 
String.class);
         client = new KuduClient.KuduClientBuilder(authority).build();
     }
 
diff --git 
a/integration-tests/mail/src/test/java/org/apache/camel/quarkus/component/mail/MailTest.java
 
b/integration-tests/mail/src/test/java/org/apache/camel/quarkus/component/mail/MailTest.java
index 24dd1a484f..3ff79a5559 100644
--- 
a/integration-tests/mail/src/test/java/org/apache/camel/quarkus/component/mail/MailTest.java
+++ 
b/integration-tests/mail/src/test/java/org/apache/camel/quarkus/component/mail/MailTest.java
@@ -44,7 +44,6 @@ import 
org.apache.camel.quarkus.test.support.certificate.TestCertificates;
 import org.awaitility.Awaitility;
 import org.eclipse.angus.mail.util.MailConnectException;
 import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -82,9 +81,8 @@ public class MailTest {
             + "${delimiter}--\r\n";
 
     @BeforeAll
-    public static void beforeAll() {
+    public static void beforeAll(Config config) {
         // Configure users
-        Config config = ConfigProvider.getConfig();
         String userJson = String.format("{ \"email\": \"%s\", \"login\": 
\"%s\", \"password\": \"%s\"}", EMAIL_ADDRESS,
                 USERNAME, PASSWORD);
 
@@ -96,9 +94,8 @@ public class MailTest {
     }
 
     @AfterEach
-    public void afterEach() {
+    public void afterEach(Config config) {
         // Clear mailboxes
-        Config config = ConfigProvider.getConfig();
         RestAssured.given()
                 .post("http://"; + config.getValue("mail.host", String.class) + 
":"
                         + config.getValue("mail.api.port", Integer.class) + 
"/api/mail/purge")
diff --git 
a/integration-tests/olingo4/src/test/java/org/apache/camel/quarkus/component/olingo4/it/Olingo4Test.java
 
b/integration-tests/olingo4/src/test/java/org/apache/camel/quarkus/component/olingo4/it/Olingo4Test.java
index 0ed89fc9e8..2e4d56807c 100644
--- 
a/integration-tests/olingo4/src/test/java/org/apache/camel/quarkus/component/olingo4/it/Olingo4Test.java
+++ 
b/integration-tests/olingo4/src/test/java/org/apache/camel/quarkus/component/olingo4/it/Olingo4Test.java
@@ -29,7 +29,7 @@ import org.apache.http.impl.client.HttpClients;
 import org.apache.http.protocol.BasicHttpContext;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpCoreContext;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -38,15 +38,13 @@ import static org.hamcrest.core.Is.is;
 @QuarkusTest
 @QuarkusTestResource(OdataTestResource.class)
 class Olingo4Test {
-
-    public static final String TEST_SERVICE_BASE_URL = 
ConfigProvider.getConfig().getValue("olingo4.test.url", String.class);
-
     private static String sessionId;
 
     @BeforeAll
-    public static void beforeAll() throws IOException {
+    public static void beforeAll(Config config) throws IOException {
         // Use the same session id for each request to the demo Olingo4 Service
-        sessionId = getSession();
+        String testServiceBaseUrl = config.getValue("olingo4.test.url", 
String.class);
+        sessionId = getSession(testServiceBaseUrl);
     }
 
     @Test
@@ -113,12 +111,13 @@ class Olingo4Test {
                 .statusCode(404);
     }
 
-    private static String getSession() throws IOException {
-        CloseableHttpClient httpClient = HttpClients.createDefault();
-        HttpGet httpGet = new HttpGet(TEST_SERVICE_BASE_URL);
-        HttpContext httpContext = new BasicHttpContext();
-        httpClient.execute(httpGet, httpContext);
-        HttpUriRequest currentReq = (HttpUriRequest) 
httpContext.getAttribute(HttpCoreContext.HTTP_REQUEST);
-        return currentReq.getURI().getPath().split("/")[2];
+    private static String getSession(String testServiceBaseUrl) throws 
IOException {
+        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
+            HttpGet httpGet = new HttpGet(testServiceBaseUrl);
+            HttpContext httpContext = new BasicHttpContext();
+            httpClient.execute(httpGet, httpContext);
+            HttpUriRequest currentReq = (HttpUriRequest) 
httpContext.getAttribute(HttpCoreContext.HTTP_REQUEST);
+            return currentReq.getURI().getPath().split("/")[2];
+        }
     }
 }
diff --git 
a/integration-tests/opentelemetry/src/test/java/org/apache/camel/quarkus/component/opentelemetry/it/OpenTelemetryTest.java
 
b/integration-tests/opentelemetry/src/test/java/org/apache/camel/quarkus/component/opentelemetry/it/OpenTelemetryTest.java
index d36b7b893c..8bcda24e70 100644
--- 
a/integration-tests/opentelemetry/src/test/java/org/apache/camel/quarkus/component/opentelemetry/it/OpenTelemetryTest.java
+++ 
b/integration-tests/opentelemetry/src/test/java/org/apache/camel/quarkus/component/opentelemetry/it/OpenTelemetryTest.java
@@ -122,27 +122,30 @@ class OpenTelemetryTest {
 
         assertTrue(Long.parseLong(timestamp) > 0);
 
-        // Verify the span hierarchy is JAX-RS Service -> Direct Endpoint -> 
Bean Endpoint -> Bean method -> JDBC query
-        await().atMost(30, TimeUnit.SECONDS).pollDelay(50, 
TimeUnit.MILLISECONDS).until(() -> getSpans().size() == 6);
+        // Verify the span hierarchy is JAX-RS Service -> Direct Endpoint -> 
Bean Endpoint -> JDBC query
+        await().atMost(30, TimeUnit.SECONDS).pollDelay(50, 
TimeUnit.MILLISECONDS).until(() -> getSpans().size() == 5);
         List<Map<String, String>> spans = getSpans();
-        assertEquals(6, spans.size());
-        assertEquals(spans.get(0).get("parentId"), 
spans.get(1).get("parentId"));
-        assertEquals(spans.get(0).get("code.function"), "getConnection");
+        assertEquals(5, spans.size());
 
+        // JDBC SELECT operation span
+        assertEquals(spans.get(0).get("parentId"), spans.get(1).get("spanId"));
+        assertEquals(spans.get(0).get("db.operation"), "SELECT");
+
+        // Bean endpoint span
         assertEquals(spans.get(1).get("parentId"), spans.get(2).get("spanId"));
-        assertEquals(spans.get(1).get("db.operation"), "SELECT");
+        assertEquals(spans.get(1).get("camel.uri"), "bean://jdbcQueryBean");
 
+        // Direct endpoint INTERNAL span
         assertEquals(spans.get(2).get("parentId"), spans.get(3).get("spanId"));
-        assertEquals(spans.get(2).get("camel.uri"), "bean://jdbcQueryBean");
+        assertEquals(spans.get(2).get("camel.uri"), "direct://jdbcQuery");
 
+        // Direct endpoint CLIENT span
         assertEquals(spans.get(3).get("parentId"), spans.get(4).get("spanId"));
         assertEquals(spans.get(3).get("camel.uri"), "direct://jdbcQuery");
 
-        assertEquals(spans.get(4).get("parentId"), spans.get(5).get("spanId"));
-        assertEquals(spans.get(4).get("camel.uri"), "direct://jdbcQuery");
-
-        assertEquals(spans.get(5).get("parentId"), "0000000000000000");
-        assertEquals(spans.get(5).get(CODE_FUNCTION_NAME.getKey()),
+        // JAX-RS Server span (root)
+        assertEquals(spans.get(4).get("parentId"), "0000000000000000");
+        assertEquals(spans.get(4).get(CODE_FUNCTION_NAME.getKey()),
                 
"org.apache.camel.quarkus.component.opentelemetry.it.OpenTelemetryResource.jdbcQuery");
     }
 
diff --git 
a/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java
 
b/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java
index f9a17da50a..ced76dc971 100644
--- 
a/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java
+++ 
b/integration-tests/opentelemetry2/src/test/java/org/apache/camel/quarkus/component/opentelemetry2/it/Opentelemetry2Test.java
@@ -138,29 +138,33 @@ class Opentelemetry2Test {
 
         assertTrue(Long.parseLong(timestamp) > 0);
 
-        // Verify the span hierarchy is JAX-RS Service -> Direct Endpoint -> 
Bean Endpoint -> Bean method -> JDBC query
-        await().atMost(30, TimeUnit.SECONDS).pollDelay(50, 
TimeUnit.MILLISECONDS).until(() -> getSpans().size() == 6);
+        // Verify the span hierarchy is JAX-RS Service -> Direct Endpoint -> 
Bean Endpoint -> JDBC query
+        await().atMost(30, TimeUnit.SECONDS).pollDelay(50, 
TimeUnit.MILLISECONDS).until(() -> getSpans().size() == 5);
         List<Map<String, String>> spans = getSpans();
-        assertEquals(6, spans.size());
-        assertEquals(spans.get(0).get("parentId"), 
spans.get(1).get("parentId"));
-        assertEquals("getConnection", spans.get(0).get("code.function"));
+        assertEquals(5, spans.size());
+
+        // JDBC SELECT operation span
+        assertEquals(spans.get(0).get("parentId"), spans.get(1).get("spanId"));
+        assertEquals("SELECT", spans.get(0).get("db.operation"));
 
+        // Bean endpoint span
         assertEquals(spans.get(1).get("parentId"), spans.get(2).get("spanId"));
-        assertEquals("SELECT", spans.get(1).get("db.operation"));
+        assertEquals("bean://jdbcQueryBean", spans.get(1).get("camel.uri"));
 
+        // Direct endpoint EVENT_RECEIVED span
         assertEquals(spans.get(2).get("parentId"), spans.get(3).get("spanId"));
-        assertEquals("bean://jdbcQueryBean", spans.get(2).get("camel.uri"));
+        assertEquals("direct://jdbcQuery", spans.get(2).get("camel.uri"));
+        assertEquals("EVENT_RECEIVED", spans.get(2).get("op"));
 
+        // Direct endpoint EVENT_SENT span
         assertEquals(spans.get(3).get("parentId"), spans.get(4).get("spanId"));
         assertEquals("direct://jdbcQuery", spans.get(3).get("camel.uri"));
-        assertEquals("EVENT_RECEIVED", spans.get(3).get("op"));
-        assertEquals(spans.get(4).get("parentId"), spans.get(5).get("spanId"));
-        assertEquals("direct://jdbcQuery", spans.get(4).get("camel.uri"));
-        assertEquals("EVENT_SENT", spans.get(4).get("op"));
+        assertEquals("EVENT_SENT", spans.get(3).get("op"));
 
-        assertEquals(spans.get(5).get("parentId"), "0000000000000000");
+        // JAX-RS Server span (root)
+        assertEquals(spans.get(4).get("parentId"), "0000000000000000");
         
assertEquals("org.apache.camel.quarkus.component.opentelemetry2.it.OpenTelemetry2Resource.jdbcQuery",
-                spans.get(5).get(CODE_FUNCTION_NAME.getKey()));
+                spans.get(4).get(CODE_FUNCTION_NAME.getKey()));
     }
 
     @Test
diff --git 
a/integration-tests/pg-replication-slot/src/test/java/org/apache/camel/quarkus/component/pg/replication/slot/it/PgReplicationSlotTest.java
 
b/integration-tests/pg-replication-slot/src/test/java/org/apache/camel/quarkus/component/pg/replication/slot/it/PgReplicationSlotTest.java
index 331ceaec7c..9e91ad29a0 100644
--- 
a/integration-tests/pg-replication-slot/src/test/java/org/apache/camel/quarkus/component/pg/replication/slot/it/PgReplicationSlotTest.java
+++ 
b/integration-tests/pg-replication-slot/src/test/java/org/apache/camel/quarkus/component/pg/replication/slot/it/PgReplicationSlotTest.java
@@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
 import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.http.ContentType;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -46,11 +46,11 @@ class PgReplicationSlotTest {
     private static Connection connection;
 
     @BeforeAll
-    public static void setUp() throws SQLException {
-        String authority = 
ConfigProvider.getConfig().getValue(PG_AUTHORITY_CFG_KEY, String.class);
-        String dbName = ConfigProvider.getConfig().getValue(PG_DBNAME_CFG_KEY, 
String.class);
-        String user = ConfigProvider.getConfig().getValue(PG_USER_CFG_KEY, 
String.class);
-        String password = 
ConfigProvider.getConfig().getValue(PG_PASSRD_CFG_KEY, String.class);
+    public static void setUp(Config config) throws SQLException {
+        String authority = config.getValue(PG_AUTHORITY_CFG_KEY, String.class);
+        String dbName = config.getValue(PG_DBNAME_CFG_KEY, String.class);
+        String user = config.getValue(PG_USER_CFG_KEY, String.class);
+        String password = config.getValue(PG_PASSRD_CFG_KEY, String.class);
 
         String url = String.format("jdbc:postgresql://%s/%s", authority, 
dbName);
         Properties props = new Properties();
diff --git 
a/integration-tests/pinecone/src/main/java/org/apache/camel/quarkus/component/pinecone/it/PineconeResource.java
 
b/integration-tests/pinecone/src/main/java/org/apache/camel/quarkus/component/pinecone/it/PineconeResource.java
index bf937ea3c4..a9dae2d25a 100644
--- 
a/integration-tests/pinecone/src/main/java/org/apache/camel/quarkus/component/pinecone/it/PineconeResource.java
+++ 
b/integration-tests/pinecone/src/main/java/org/apache/camel/quarkus/component/pinecone/it/PineconeResource.java
@@ -36,7 +36,7 @@ import jakarta.ws.rs.core.MediaType;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.pinecone.PineconeVectorDbComponent;
 import org.apache.camel.component.pinecone.PineconeVectorDbConfiguration;
-import org.eclipse.microprofile.config.ConfigProvider;
+import org.eclipse.microprofile.config.Config;
 import org.openapitools.db_control.client.model.IndexModel;
 
 @Path("/pinecone")
@@ -83,8 +83,8 @@ public class PineconeResource {
     }
 
     @Named("pinecone")
-    PineconeVectorDbComponent pineconeVectorDbComponent() {
-        Pinecone client = createPineconeClient();
+    PineconeVectorDbComponent pineconeVectorDbComponent(Config config) {
+        Pinecone client = createPineconeClient(config);
         PineconeVectorDbComponent component = new PineconeVectorDbComponent();
         PineconeVectorDbConfiguration configuration = new 
PineconeVectorDbConfiguration();
         configuration.setClient(client);
@@ -92,8 +92,8 @@ public class PineconeResource {
         return component;
     }
 
-    static Pinecone createPineconeClient() {
-        String endpoint = 
ConfigProvider.getConfig().getValue("pinecone.emulator.endpoint", String.class);
+    static Pinecone createPineconeClient(Config config) {
+        String endpoint = config.getValue("pinecone.emulator.endpoint", 
String.class);
         Pinecone.Builder builder = new Pinecone.Builder("pclocal")
                 .withHost(endpoint)
                 .withTlsEnabled(false);
diff --git 
a/integration-tests/pinecone/src/test/java/org/apache/camel/quarkus/component/pinecone/it/PineconeTest.java
 
b/integration-tests/pinecone/src/test/java/org/apache/camel/quarkus/component/pinecone/it/PineconeTest.java
index 2884e1be44..cf9d808adf 100644
--- 
a/integration-tests/pinecone/src/test/java/org/apache/camel/quarkus/component/pinecone/it/PineconeTest.java
+++ 
b/integration-tests/pinecone/src/test/java/org/apache/camel/quarkus/component/pinecone/it/PineconeTest.java
@@ -24,6 +24,7 @@ import io.quarkus.test.common.QuarkusTestResource;
 import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import io.restassured.http.ContentType;
+import org.eclipse.microprofile.config.Config;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.openapitools.db_control.client.model.IndexModel;
@@ -42,8 +43,8 @@ class PineconeTest {
     private static Pinecone pinecone;
 
     @BeforeAll
-    public static void beforeAll() {
-        pinecone = createPineconeClient();
+    public static void beforeAll(Config config) {
+        pinecone = createPineconeClient(config);
     }
 
     @Test
diff --git a/pom.xml b/pom.xml
index 8675a195eb..9c6c6b50fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,7 @@
         <quarkiverse-minio.version>3.8.6</quarkiverse-minio.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/minio/quarkus-minio-parent/ -->
         <quarkiverse-mybatis.version>2.4.2</quarkiverse-mybatis.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/mybatis/quarkus-mybatis-parent/ 
-->
         
<quarkiverse-pooled-jms.version>2.12.0</quarkiverse-pooled-jms.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/messaginghub/quarkus-pooled-jms-parent/
 -->
-        <quarkus.version>3.34.1</quarkus.version><!-- 
https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/ -->
+        <quarkus.version>3.35.0.CR1</quarkus.version><!-- 
https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/ -->
         
<quarkus-hazelcast-client.version>4.1.0</quarkus-hazelcast-client.version><!-- 
https://repo1.maven.org/maven2/com/hazelcast/quarkus-hazelcast-client-bom/ -->
         <quarkus-qpid-jms.version>2.12.0</quarkus-qpid-jms.version><!-- This 
should be in sync with quarkus-platform 
https://repo1.maven.org/maven2/org/amqphub/quarkus/quarkus-qpid-jms-bom/ -->
 
@@ -137,8 +137,8 @@
         
<json-schema-validator.version>${networknt-json-schema-validator-version}</json-schema-validator.version>
         <json-smart.version>${json-smart-version}</json-smart.version>
         <jxmpp.version>1.1.0</jxmpp.version><!-- @sync 
org.apache.camel:camel-xmpp:${camel.version} dep:org.jxmpp:jxmpp-jid -->
-        <kafka.version>4.1.1</kafka.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.kafka:kafka-clients -->
-        <keycloak.version>26.5.4</keycloak.version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:keycloak.server.version 
-->
+        <kafka.version>4.2.0</kafka.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.kafka:kafka-clients -->
+        <keycloak.version>26.5.7</keycloak.version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:keycloak.server.version 
-->
         <kudu.version>${kudu-version}</kudu.version>
         <kotlin.version>2.3.10</kotlin.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} 
dep:org.jetbrains.kotlin:kotlin-stdlib -->
         <kotlinx.version>1.4.0</kotlinx.version><!--Used by 
com.squareup.wire:wire-compiler referenced from aws2:kinesis -->
@@ -300,7 +300,7 @@
 
         <!-- maven-enforcer-plugin -->
         <min-maven-version>3.8.2</min-maven-version>
-        <target-maven-version>3.9.12</target-maven-version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:proposed-maven-version 
-->
+        <target-maven-version>3.9.14</target-maven-version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:proposed-maven-version 
-->
         
<supported-maven-versions>[${min-maven-version},)</supported-maven-versions>
 
         <!-- maven-release-plugin -->
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index fd0275cdb5..ed80f69e37 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -7881,7 +7881,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>connect-json</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>4.1.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>4.2.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <exclusions>
           <exclusion>
             <groupId>org.lz4</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -7892,7 +7892,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>connect-runtime</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>4.1.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>4.2.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <exclusions>
           <exclusion>
             <groupId>io.swagger.core.v3</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 04259fdbd2..ca9f810348 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -7810,7 +7810,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId>
         <artifactId>connect-json</artifactId>
-        <version>4.1.1</version>
+        <version>4.2.0</version>
         <exclusions>
           <exclusion>
             <groupId>org.lz4</groupId>
@@ -7821,7 +7821,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId>
         <artifactId>connect-runtime</artifactId>
-        <version>4.1.1</version>
+        <version>4.2.0</version>
         <exclusions>
           <exclusion>
             <groupId>io.swagger.core.v3</groupId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml 
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index d681894bcd..72c06a97b4 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -7810,7 +7810,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>connect-json</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>4.1.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>4.2.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <exclusions>
           <exclusion>
             <groupId>org.lz4</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -7821,7 +7821,7 @@
       <dependency>
         <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>connect-runtime</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
-        <version>4.1.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>4.2.0</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <exclusions>
           <exclusion>
             <groupId>io.swagger.core.v3</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->

Reply via email to