在kafka connect

问题描述

我正在尝试将JsonSchema与模式注册表一起使用。它提供了一些与代码相关的错误

有人成功尝试了JsonSchema。

java.lang.NoSuchMethodError: io.confluent.kafka.serializers.subject.strategy.SubjectNameStrategy.subjectName(Ljava/lang/String;ZLio/confluent/kafka/schemaregistry/ParsedSchema;)Ljava/lang/String;
    at io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe.getSubjectName(AbstractKafkaSchemaSerDe.java:117)
    at io.confluent.connect.json.JsonSchemaConverter$Serializer.serialize(JsonSchemaConverter.java:135)
    at io.confluent.connect.json.JsonSchemaConverter.fromConnectData(JsonSchemaConverter.java:88)
    at org.apache.kafka.connect.storage.Converter.fromConnectData(Converter.java:63)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.lambda$convertTransformedRecord$2(WorkerSourceTask.java:295)

好像有getSubjectName函数,但没有subjectName

解决方法

在同一项目中尝试不同的制作人时,通常会发生此问题。在我们的方案中,我们在同一项目和路径中运行了Avro生产者和Json生产者。

在gradle构建文件中删除Avro依赖关系后,生产者成功执行。另外,确保所有依赖项都已添加到maven / gradle。