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 8d118bcdfc975a969309997b436386a6e2d24bbd
Author: James Netherton <[email protected]>
AuthorDate: Thu Oct 16 07:11:16 2025 +0100

    Upgrade Quarkus to 3.29.0.CR1
---
 docs/antora.yml                                    |  2 +-
 extensions/aws2-kinesis/runtime/pom.xml            |  5 +++
 .../deployment/DebeziumPostgresProcessor.java      |  7 +++-
 .../salesforce/deployment/SalesforceProcessor.java |  6 +++
 .../test/support/kafka/KafkaTestResource.java      |  9 -----
 .../kafka/oauth/it/KafkaKeycloakTestResource.java  |  2 +-
 .../kafka/sasl/KafkaSaslSslTestResource.java       | 31 +++++++++++----
 .../quarkus/kafka/sasl/KafkaSaslTestResource.java  | 14 ++++++-
 .../quarkus/kafka/ssl/KafkaSslTestResource.java    | 14 ++++++-
 .../component/kafka/CamelKafkaResource.java        |  2 +-
 .../quarkus/component/kafka/CamelKafkaRoutes.java  | 21 +++++++++--
 .../quarkus/component/kafka/it/CamelKafkaTest.java |  3 --
 pom.xml                                            |  7 ++--
 poms/bom/pom.xml                                   | 40 ++++++++++++++++++++
 poms/bom/src/main/generated/flattened-full-pom.xml | 39 +++++++++++++++++++
 .../src/main/generated/flattened-reduced-pom.xml   | 44 ++++++++++++++++++++++
 .../generated/flattened-reduced-verbose-pom.xml    | 44 ++++++++++++++++++++++
 17 files changed, 257 insertions(+), 33 deletions(-)

diff --git a/docs/antora.yml b/docs/antora.yml
index eb6f3bb52f..556f9a3f4c 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -31,7 +31,7 @@ asciidoc:
     camel-version: 4.15.0 # replace ${camel.version}
     camel-docs-version: next
     camel-quarkus-version: 3.29.0 # replace ${camel-quarkus.version}
-    quarkus-version: 3.28.2 # replace ${quarkus.version}
+    quarkus-version: 3.29.0.CR1 # replace ${quarkus.version}
     graalvm-version: 23.1.2 # replace ${graalvm.version}
     graalvm-docs-version: jdk21 # replace ${graalvm-docs.version}
     langchain4j-version: 1.5.0 # replace ${langchain4j.version}
diff --git a/extensions/aws2-kinesis/runtime/pom.xml 
b/extensions/aws2-kinesis/runtime/pom.xml
index 78f91c929b..1ca6fe4a73 100644
--- a/extensions/aws2-kinesis/runtime/pom.xml
+++ b/extensions/aws2-kinesis/runtime/pom.xml
@@ -37,6 +37,11 @@
     </properties>
 
     <dependencies>
+        <!-- TODO: Remove this 
https://github.com/apache/camel-quarkus/issues/7812 -->
+        <dependency>
+            <groupId>software.amazon.kinesis</groupId>
+            <artifactId>amazon-kinesis-client</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
diff --git 
a/extensions/debezium-postgres/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/postgres/deployment/DebeziumPostgresProcessor.java
 
b/extensions/debezium-postgres/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/postgres/deployment/DebeziumPostgresProcessor.java
index f3cc14bab7..d92f552db7 100644
--- 
a/extensions/debezium-postgres/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/postgres/deployment/DebeziumPostgresProcessor.java
+++ 
b/extensions/debezium-postgres/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/postgres/deployment/DebeziumPostgresProcessor.java
@@ -21,6 +21,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 
 class DebeziumPostgresProcessor {
 
@@ -33,7 +34,6 @@ class DebeziumPostgresProcessor {
 
     @BuildStep
     void reflectiveClasses(BuildProducer<ReflectiveClassBuildItem> 
reflectiveClasses) {
-
         reflectiveClasses.produce(ReflectiveClassBuildItem.builder(
                 "io.debezium.connector.postgresql.PostgresConnector",
                 "io.debezium.connector.postgresql.PostgresConnectorTask",
@@ -44,6 +44,11 @@ class DebeziumPostgresProcessor {
                 .build());
     }
 
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
+
     @BuildStep
     void addDependencies(BuildProducer<IndexDependencyBuildItem> 
indexDependency) {
         indexDependency.produce(new IndexDependencyBuildItem("io.debezium", 
"debezium-connector-postgres"));
diff --git 
a/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
 
b/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
index b3d25d647a..9652d14153 100644
--- 
a/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
+++ 
b/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
@@ -25,6 +25,7 @@ import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import org.apache.camel.component.salesforce.api.dto.AbstractDTOBase;
 import 
org.apache.camel.quarkus.core.deployment.spi.CamelPackageScanClassBuildItem;
 import org.apache.camel.support.jsse.KeyStoreParameters;
@@ -84,6 +85,11 @@ class SalesforceProcessor {
         packageScanClass.produce(new 
CamelPackageScanClassBuildItem(userDtoClasses));
     }
 
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
+
     @BuildStep
     CamelPackageScanClassBuildItem 
registerEventBusPackageScanClasses(CombinedIndexBuildItem 
combinedIndexBuildItem) {
         Set<String> eventBusDTOClasses = combinedIndexBuildItem.getIndex()
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 1de17e0126..c4446c65d2 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
@@ -23,20 +23,15 @@ import java.util.function.Function;
 import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
 import io.strimzi.test.container.StrimziKafkaContainer;
 import org.eclipse.microprofile.config.ConfigProvider;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class KafkaTestResource implements QuarkusTestResourceLifecycleManager {
     protected static final String KAFKA_IMAGE_NAME = 
ConfigProvider.getConfig().getValue("kafka.container.image", String.class);
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(KafkaTestResource.class);
-
     private StrimziKafkaContainer container;
 
     @Override
     public Map<String, String> start() {
         try {
             start(name -> new StrimziKafkaContainer(name));
-
             return Collections.singletonMap("camel.component.kafka.brokers", 
container.getBootstrapServers());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -45,13 +40,9 @@ public class KafkaTestResource implements 
QuarkusTestResourceLifecycleManager {
 
     public String start(Function<String, StrimziKafkaContainer> 
containerSupplier) {
         container = containerSupplier.apply(KAFKA_IMAGE_NAME);
-
-        /* Added container startup logging because of 
https://github.com/apache/camel-quarkus/issues/2461 */
         container.withLogConsumer(frame -> 
System.out.print(frame.getUtf8String()))
-                //                .withEnv("KAFKA_LOG4J_OPTS", 
"-Dlog4j.configuration=file:/log4j.properties")
                 .waitForRunning()
                 .start();
-
         return container.getBootstrapServers();
     }
 
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 8c6c17e270..bebbd44260 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
@@ -88,7 +88,7 @@ public class KafkaKeycloakTestResource implements 
QuarkusTestResourceLifecycleMa
         this.kafka = new StrimziKafkaContainer(imageName)
                 .withBrokerId(1)
                 .withKafkaConfigurationMap(Map.ofEntries(
-                        entry("listener.security.protocol.map", 
"JWT:SASL_PLAINTEXT,BROKER1:PLAINTEXT"),
+                        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",
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 fe33234803..ab1e9b34c7 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
@@ -19,22 +19,25 @@ package org.apache.camel.quarkus.kafka.sasl;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.util.Map;
+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 org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
 import org.apache.camel.util.CollectionHelper;
+import org.jboss.logging.Logger;
 import org.testcontainers.images.builder.Transferable;
 import org.testcontainers.utility.MountableFile;
 
-import static 
io.strimzi.test.container.StrimziZookeeperContainer.ZOOKEEPER_PORT;
-
 public class KafkaSaslSslTestResource extends KafkaTestResource {
+    static final Logger LOG = Logger.getLogger(KafkaSaslSslTestResource.class);
     static final String KAFKA_KEYSTORE_PASSWORD = "changeit";
-    //min lengthe is 32 because of SCRAM-SHA-512
+    //min length is 32 because of SCRAM-SHA-512
     static final String ALICE_PASSWORD = "changeitchangeitchangeitchangeit";
     static final String KAFKA_HOSTNAME = "localhost";
+    static final String KAFKA_BROKER_HOSTNAME = "broker-1";
     static final String CERTS_BASEDIR = "target/certs";
 
     static final String KAFKA_KEYSTORE_FILE = KAFKA_HOSTNAME + "-keystore.p12";
@@ -79,11 +82,10 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
         protected void configure() {
             super.configure();
 
-            String protocolMap = "SASL_SSL:SASL_SSL,BROKER1:PLAINTEXT";
+            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("zookeeper.sasl.enabled", "false"),
                     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),
@@ -95,8 +97,17 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
                     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()));
         }
 
@@ -115,7 +126,8 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
                     });
 
             String setupUsersScript = "#!/bin/bash\n"
-                    + "KAFKA_OPTS= /opt/kafka/bin/kafka-configs.sh --zookeeper 
localhost:" + ZOOKEEPER_PORT
+                    + "/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";
 
@@ -128,7 +140,12 @@ public class KafkaSaslSslTestResource extends 
KafkaTestResource {
         protected void containerIsStarted(InspectContainerResponse 
containerInfo) {
             super.containerIsStarted(containerInfo);
             try {
-                execInContainer("/setup-users.sh");
+                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());
+                }
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
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 e5542d9d5b..444edfb7f3 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
@@ -21,8 +21,10 @@ import java.io.InputStream;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.Map;
+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 org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
@@ -32,6 +34,8 @@ import org.apache.kafka.clients.CommonClientConfigs;
 import org.testcontainers.utility.MountableFile;
 
 public class KafkaSaslTestResource extends KafkaTestResource {
+    static final String KAFKA_BROKER_HOSTNAME = "broker-1";
+
     private Path serviceBindingDir;
     private SaslKafkaContainer container;
 
@@ -90,7 +94,7 @@ public class KafkaSaslTestResource extends KafkaTestResource {
         protected void configure() {
             super.configure();
 
-            String protocolMap = 
"SASL_PLAINTEXT:SASL_PLAINTEXT,BROKER1:PLAINTEXT";
+            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),
@@ -99,7 +103,15 @@ public class KafkaSaslTestResource extends 
KafkaTestResource {
                     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()));
         }
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 ecf218e39f..5d0e05eeea 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
@@ -18,8 +18,10 @@ package org.apache.camel.quarkus.kafka.ssl;
 
 import java.nio.file.Path;
 import java.util.Map;
+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 org.apache.camel.quarkus.test.support.kafka.KafkaTestResource;
@@ -31,6 +33,7 @@ public class KafkaSslTestResource extends KafkaTestResource {
 
     static final String KAFKA_KEYSTORE_PASSWORD = "changeit";
     static final String KAFKA_HOSTNAME = "localhost";
+    static final String KAFKA_BROKER_HOSTNAME = "broker-1";
     static final String CERTS_BASEDIR = "target/certs";
 
     static final String KAFKA_KEYSTORE_FILE = KAFKA_HOSTNAME + "-keystore.p12";
@@ -71,7 +74,7 @@ public class KafkaSslTestResource extends KafkaTestResource {
         protected void configure() {
             super.configure();
 
-            String protocolMap = "SSL:SSL,BROKER1:PLAINTEXT";
+            String protocolMap = 
"SSL: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),
@@ -83,8 +86,15 @@ public class KafkaSslTestResource extends KafkaTestResource {
                     Map.entry("ssl.truststore.type", KAFKA_KEYSTORE_TYPE),
                     Map.entry("ssl.endpoint.identification.algorithm", ""));
 
-            withEnv("STRIMZI_TEST_ROOT_LOG_LEVEL", "DEBUG");
+            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()));
         }
diff --git 
a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaResource.java
 
b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaResource.java
index dbe194e187..cc9ded2f88 100644
--- 
a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaResource.java
+++ 
b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaResource.java
@@ -120,7 +120,7 @@ public class CamelKafkaResource {
 
     @Path("idempotent/{id}")
     @PUT
-    @Consumes(MediaType.APPLICATION_JSON)
+    @Consumes(MediaType.TEXT_PLAIN)
     public Response addMessage(@PathParam("id") Integer id, String message) {
         producerTemplate.sendBodyAndHeader("direct:idempotent", message, "id", 
id);
         return Response.accepted().build();
diff --git 
a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java
 
b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java
index cdbc5874d0..b48ed8786d 100644
--- 
a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java
+++ 
b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.quarkus.component.kafka;
 
+import java.util.List;
+import java.util.Properties;
+
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.enterprise.inject.Produces;
 import jakarta.inject.Named;
@@ -23,6 +26,10 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.kafka.KafkaConstants;
 import org.apache.camel.component.kafka.consumer.KafkaManualCommit;
 import org.apache.camel.processor.idempotent.kafka.KafkaIdempotentRepository;
+import org.apache.camel.quarkus.test.support.kafka.KafkaTestSupport;
+import org.apache.kafka.clients.CommonClientConfigs;
+import org.apache.kafka.clients.admin.AdminClient;
+import org.apache.kafka.clients.admin.NewTopic;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 
 public class CamelKafkaRoutes extends RouteBuilder {
@@ -38,10 +45,16 @@ public class CamelKafkaRoutes extends RouteBuilder {
     @ConfigProperty(name = "camel.component.kafka.brokers")
     String brokers;
 
-    @Produces
-    @ApplicationScoped
-    @Named("kafkaIdempotentRepository")
     KafkaIdempotentRepository kafkaIdempotentRepository() {
+        Properties props = new Properties();
+        props.put(CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG, 
KafkaTestSupport.getBootstrapServers());
+        props.put(CommonClientConfigs.GROUP_ID_CONFIG, "camel-quarkus-group");
+
+        try (AdminClient admin = AdminClient.create(props)) {
+            NewTopic topic = new NewTopic("idempotent-topic", 1, (short) 1);
+            admin.createTopics(List.of(topic));
+        }
+
         return new KafkaIdempotentRepository("idempotent-topic", brokers);
     }
 
@@ -60,7 +73,7 @@ public class CamelKafkaRoutes extends RouteBuilder {
 
         from("direct:idempotent")
                 .idempotentConsumer(header("id"))
-                .idempotentRepository("kafkaIdempotentRepository")
+                .idempotentRepository(kafkaIdempotentRepository())
                 .to("mock:idempotent-results")
                 .end();
 
diff --git 
a/integration-tests/kafka/src/test/java/org/apache/camel/quarkus/component/kafka/it/CamelKafkaTest.java
 
b/integration-tests/kafka/src/test/java/org/apache/camel/quarkus/component/kafka/it/CamelKafkaTest.java
index f6876a2639..6ad0fc5767 100644
--- 
a/integration-tests/kafka/src/test/java/org/apache/camel/quarkus/component/kafka/it/CamelKafkaTest.java
+++ 
b/integration-tests/kafka/src/test/java/org/apache/camel/quarkus/component/kafka/it/CamelKafkaTest.java
@@ -63,11 +63,9 @@ public class CamelKafkaTest {
 
     @Test
     void testIndempotent() {
-
         for (int i = 0; i < 10; i++) {
             int id = i % 5;
             given()
-                    .contentType(ContentType.JSON)
                     .body("Test message")
                     .put("/kafka/idempotent/" + id)
                     .then()
@@ -76,7 +74,6 @@ public class CamelKafkaTest {
 
         String[] body = 
RestAssured.get("/kafka/idempotent").then().extract().body().as(String[].class);
         assertEquals(5, body.length);
-
     }
 
     @Test
diff --git a/pom.xml b/pom.xml
index 620dcedec3..e554c25889 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,13 +61,14 @@
         <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.1</quarkiverse-mybatis.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/mybatis/quarkus-mybatis-parent/ 
-->
         
<quarkiverse-pooled-jms.version>2.8.0</quarkiverse-pooled-jms.version><!-- 
https://repo1.maven.org/maven2/io/quarkiverse/messaginghub/quarkus-pooled-jms-parent/
 -->
-        <quarkus.version>3.28.2</quarkus.version><!-- 
https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/ -->
+        <quarkus.version>3.29.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.10.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/ -->
 
         <!-- Compile dependency versions (keep sorted alphabetically) -->
         <!-- Items annotated with @sync can be updated by running mvn 
cq:sync-versions -N -e -->
         <aalto-xml.version>1.3.3</aalto-xml.version><!-- @sync 
org.smooks:smooks-core:${smooks-version} dep:com.fasterxml:aalto-xml -->
+        
<amazon-kinesis-client.version>3.1.3</amazon-kinesis-client.version><!-- TODO: 
remove this https://github.com/apache/camel-quarkus/issues/7812 -->
         <antlr3.version>3.5.2</antlr3.version><!-- Spark, Stringtemplate and 
probably others -->
         
<audience-annotations.version>${yetus-audience-annotations-version}</audience-annotations.version>
         <avro.version>1.12.0</avro.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.avro:avro -->
@@ -132,7 +133,7 @@
         <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.0.0</kafka.version><!-- @sync 
io.quarkus:quarkus-bom:${quarkus.version} dep:org.apache.kafka:kafka-clients -->
-        <keycloak.version>26.3.4</keycloak.version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:keycloak.server.version 
-->
+        <keycloak.version>26.4.0</keycloak.version><!-- @sync 
io.quarkus:quarkus-build-parent:${quarkus.version} prop:keycloak.server.version 
-->
         <kudu.version>${kudu-version}</kudu.version>
         <kotlin.version>2.2.20</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 -->
@@ -244,7 +245,7 @@
         
<hashicorp-vault.container.image>mirror.gcr.io/hashicorp/vault:1.17</hashicorp-vault.container.image>
         
<ibm-mq.container.image>icr.io/ibm-messaging/mq:9.4.3.0-r1</ibm-mq.container.image>
         
<influxdb.container.image>mirror.gcr.io/influxdb:1.8.10-alpine</influxdb.container.image>
-        
<kafka.container.image>quay.io/strimzi-test-container/test-container:latest-kafka-3.9.0</kafka.container.image>
+        
<kafka.container.image>quay.io/strimzi-test-container/test-container:latest-kafka-4.1.0</kafka.container.image>
         
<keycloak.container.image>quay.io/keycloak/keycloak:${keycloak.version}</keycloak.container.image>
         
<kudu.container.image>mirror.gcr.io/apache/kudu:1.17.0</kudu.container.image>
         
<localstack.container.image>mirror.gcr.io/localstack/localstack:3.7.2</localstack.container.image>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index fa7051b47f..5b5feb178f 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -8080,6 +8080,46 @@
                 <artifactId>aws-crt</artifactId>
                 <version>${awscrt.version}</version>
             </dependency>
+            <!-- TODO: Remove this 
https://github.com/apache/camel-quarkus/issues/7812 -->
+            <dependency>
+                <groupId>software.amazon.kinesis</groupId>
+                <artifactId>amazon-kinesis-client</artifactId>
+                <version>${amazon-kinesis-client.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.google.code.findbugs</groupId>
+                        <artifactId>jsr305</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>io.github.classgraph</groupId>
+                        <artifactId>classgraph</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.validation</groupId>
+                        <artifactId>validation-api</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.apache.kafka</groupId>
+                        <artifactId>kafka-clients</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.checkerframework</groupId>
+                        <artifactId>checker-qual</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.jetbrains.kotlin</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.jetbrains.kotlinx</groupId>
+                        <artifactId>*</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
             <dependency>
                 <groupId>xalan</groupId>
                 <artifactId>xalan</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml 
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 249803308e..37bbfb6516 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -7966,6 +7966,45 @@
         <artifactId>aws-crt</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>0.38.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>software.amazon.kinesis</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>amazon-kinesis-client</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>3.1.3</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>com.google.code.findbugs</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>jsr305</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>commons-logging</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>commons-logging</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>io.github.classgraph</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>classgraph</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>javax.validation</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>validation-api</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>kafka-clients</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.checkerframework</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>checker-qual</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlin</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlinx</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
+      </dependency>
       <dependency>
         <groupId>xalan</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>xalan</artifactId><!-- 
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 1ace9b5910..23b8a31c9a 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -7850,6 +7850,45 @@
         <artifactId>aws-crt</artifactId>
         <version>0.38.1</version>
       </dependency>
+      <dependency>
+        <groupId>software.amazon.kinesis</groupId>
+        <artifactId>amazon-kinesis-client</artifactId>
+        <version>3.1.3</version>
+        <exclusions>
+          <exclusion>
+            <groupId>com.google.code.findbugs</groupId>
+            <artifactId>jsr305</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>io.github.classgraph</groupId>
+            <artifactId>classgraph</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka-clients</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.checkerframework</groupId>
+            <artifactId>checker-qual</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlin</groupId>
+            <artifactId>*</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlinx</groupId>
+            <artifactId>*</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
       <dependency>
         <groupId>xalan</groupId>
         <artifactId>xalan</artifactId>
@@ -8573,6 +8612,11 @@
         <artifactId>dynamodb</artifactId>
         <version>2.32.4</version>
       </dependency>
+      <dependency>
+        <groupId>software.amazon.awssdk</groupId>
+        <artifactId>dynamodb-enhanced</artifactId>
+        <version>2.32.4</version>
+      </dependency>
       <dependency>
         <groupId>software.amazon.awssdk</groupId>
         <artifactId>ec2</artifactId>
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 b73f5af008..1bd5b332aa 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -7850,6 +7850,45 @@
         <artifactId>aws-crt</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <version>0.38.1</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
       </dependency>
+      <dependency>
+        <groupId>software.amazon.kinesis</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <artifactId>amazon-kinesis-client</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <version>3.1.3</version><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+        <exclusions>
+          <exclusion>
+            <groupId>com.google.code.findbugs</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>jsr305</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>commons-logging</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>commons-logging</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>io.github.classgraph</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>classgraph</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>javax.validation</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>validation-api</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.kafka</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>kafka-clients</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.checkerframework</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>checker-qual</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlin</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+          <exclusion>
+            <groupId>org.jetbrains.kotlinx</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+            <artifactId>*</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+          </exclusion>
+        </exclusions>
+      </dependency>
       <dependency>
         <groupId>xalan</groupId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
         <artifactId>xalan</artifactId><!-- 
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -8573,6 +8612,11 @@
         <artifactId>dynamodb</artifactId><!-- 
software.amazon.awssdk:bom:2.32.4 -->
         <version>2.32.4</version><!-- software.amazon.awssdk:bom:2.32.4 -->
       </dependency>
+      <dependency>
+        <groupId>software.amazon.awssdk</groupId><!-- 
software.amazon.awssdk:bom:2.32.4 -->
+        <artifactId>dynamodb-enhanced</artifactId><!-- 
software.amazon.awssdk:bom:2.32.4 -->
+        <version>2.32.4</version><!-- software.amazon.awssdk:bom:2.32.4 -->
+      </dependency>
       <dependency>
         <groupId>software.amazon.awssdk</groupId><!-- 
software.amazon.awssdk:bom:2.32.4 -->
         <artifactId>ec2</artifactId><!-- software.amazon.awssdk:bom:2.32.4 -->


Reply via email to