This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch improving-apicurio-example in repository https://gitbox.apache.org/repos/asf/camel-kamelets-examples.git
commit a6822d7185d08cb331ac98de1eede91bc2ab1dd0 Author: Andrea Cosentino <[email protected]> AuthorDate: Tue Oct 24 10:50:28 2023 +0200 Add also Kafka Kamelet Apicurio Sink Example to Kafka Apicurio folder Signed-off-by: Andrea Cosentino <[email protected]> --- jbang/kafka-apicurio-schema-registry/README.md | 13 +++++- .../application.properties | 2 +- .../kafka-apicurio-producer-kamelet.yaml | 46 ++++++++++++++++++++++ .../kafka-producer/pom.xml | 8 +++- 4 files changed, 66 insertions(+), 3 deletions(-) diff --git a/jbang/kafka-apicurio-schema-registry/README.md b/jbang/kafka-apicurio-schema-registry/README.md index e0af776..0922ae3 100644 --- a/jbang/kafka-apicurio-schema-registry/README.md +++ b/jbang/kafka-apicurio-schema-registry/README.md @@ -26,7 +26,7 @@ Run [`Produce.java`](./kafka-producer/src/main/java/com/acme/example/kafka/Produ mvn compile exec:java -Dexec.mainClass="com.acme.example.kafka.Produce" ``` -## Consume from Kafka without Kamelets +## Produce to Kafka without Kamelets To consume messages using a Camel route, first install the kafka-producer maven project: ```bash @@ -78,6 +78,17 @@ and after a message has been produced to Kafka you should see ] ``` +## Produce to Kafka with Kamelets + +You might also want to try out the specialized Kamelet sink for Apicurio Registry + +Follow the same approach but run + +then run: +```bash +jbang run camel@apache/camel run --local-kamelet-dir=<local_path_to_camel_kamelets> --kamelets-version=4.1.0-SNAPSHOT kafka-apicurio-producer-kamelet.yaml +``` + ## Consume from Kafka with Kamelets You might also want to try out the specialized Kamelet for Apicurio Registry diff --git a/jbang/kafka-apicurio-schema-registry/application.properties b/jbang/kafka-apicurio-schema-registry/application.properties index 8202fae..bae24dc 100644 --- a/jbang/kafka-apicurio-schema-registry/application.properties +++ b/jbang/kafka-apicurio-schema-registry/application.properties @@ -1,3 +1,3 @@ bootstrap.servers=localhost:9092 topic=my-topic -schema.registry.url=http://localhost:8080/apis/registry/v2 +schema.registry.url=http://0.0.0.0:8080/apis/registry/v2 diff --git a/jbang/kafka-apicurio-schema-registry/kafka-apicurio-producer-kamelet.yaml b/jbang/kafka-apicurio-schema-registry/kafka-apicurio-producer-kamelet.yaml new file mode 100644 index 0000000..abe18ad --- /dev/null +++ b/jbang/kafka-apicurio-schema-registry/kafka-apicurio-producer-kamelet.yaml @@ -0,0 +1,46 @@ +## --------------------------------------------------------------------------- +## Licensed to the Apache Software Foundation (ASF) under one or more +## contributor license agreements. See the NOTICE file distributed with +## this work for additional information regarding copyright ownership. +## The ASF licenses this file to You under the Apache License, Version 2.0 +## (the "License"); you may not use this file except in compliance with +## the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## --------------------------------------------------------------------------- + +# camel-k: dependency=mvn:com.acme.example:kafka-apicurio-producer:0.1 + +- beans: + - name: order + type: "#class:com.acme.example.kafka.models.Order" + properties: + orderId: 1 + itemId: "123" + userId: "oscerd" + quantity: 3 + description: "My item" + +- route: + from: + uri: "kamelet:timer-source" + parameters: + message: '{"id":"1","message":"Camel Rocks"}' + contentType: "application/json" + repeatCount: 1 + steps: + - set-body: + simple: "${ref:order}" + - to: + uri: "kamelet:kafka-apicurio-registry-not-secured-sink" + parameters: + topic: "{{topic}}" + bootstrapServers: "{{bootstrap.servers}}" + groupId: 'my-consumer-group' + apicurioRegistryUrl: '{{schema.registry.url}}' diff --git a/jbang/kafka-apicurio-schema-registry/kafka-producer/pom.xml b/jbang/kafka-apicurio-schema-registry/kafka-producer/pom.xml index fb16f3d..378c362 100644 --- a/jbang/kafka-apicurio-schema-registry/kafka-producer/pom.xml +++ b/jbang/kafka-apicurio-schema-registry/kafka-producer/pom.xml @@ -13,11 +13,17 @@ <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-avro-serde</artifactId> <version>2.4.12.Final</version> + <exclusions> + <exclusion> + <groupId>org.apache.kafka</groupId> + <artifactId>kafka-clients</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> - <version>3.4.0</version> + <version>3.5.1</version> </dependency> <dependency> <groupId>org.apache.avro</groupId>
