如何在 kafka 消费者中使用 kafka avro 序列化程序编写骆驼路由器

How to write a camel router with kafka avro serializer in kafka consumer

如何编写 kafka avro 序列化器和反序列化器(即使用 io.confluent.kafka.serializers.KafkaAvroDeserializer)

from("kafka:localhost:9092?topic=customer_payment&groupId=group1&specificAvroReader="+ true+
            "&keyDeserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer&valueDeserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer&schemaRegistryURL=localhost:8081")
    .to("file://C:/Users/Documents/camel-kafka?fileName=MyFile.txt");

任何人都可以帮助 kafka avro confluent serializer 的依赖项是什么

请询问您是否需要任何详细信息

提前致谢

假设您使用的是 maven。 添加合流存储库:

<repositories>
<!-- confluent maven repo, required to find avro deps -->
<repository>
  <id>confluent</id>
  <url>https://packages.confluent.io/maven/</url>
</repository>

如果是这种情况,请添加依赖项,包括流 serde:

<dependencies>
<!-- avro -->
<dependency>
  <groupId>org.apache.avro</groupId>
  <artifactId>avro</artifactId>
  <version>${avro.version}</version>
</dependency>
<dependency>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-avro-serializer</artifactId>
  <version>${confluent.version}</version>
</dependency>

... 如果您尝试从 Avro 模式生成 java 类型,请构建插件。

<build>
    <plugins>
        <!-- avro -->
        <plugin>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-maven-plugin</artifactId>
            <version>${avro.version}</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>schema</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>