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 -->
