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

时间:2019-06-07 10:43:00

标签: apache-kafka apache-camel avro confluent

如何编写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合流序列化程序什么依赖项

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

预先感谢

1 个答案:

答案 0 :(得分:0)

假设您正在使用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>