Как создать поля типа {"type": "string", "avro. java .string": "String"} с помощью IDL avro-tools-1.9.1.jar? - PullRequest
0 голосов
/ 06 марта 2020

У нас есть JAVA gradle avro plugin (davidmc24 / gradle-avro-plugin), генерирующий shema, и со строкой по умолчанию stringType, которая сгенерирует JAVA POJO следующим образом:

Class A{
Shema = ...,{"type":"string","avro.java.string":"String"}...
string batchName;
}

, тогда мы используйте тот же файл avdl для генерации пакета C#, наше решение - сначала сгенерировать файл avs c с avro-tools-1.9.1.jar, который сгенерирует avs c, например

"fields" : [ {
      "name" : "batchName",
      "type" : "string"
    },

У нас есть C# производитель и java потребитель, в данном случае batchName не может быть десерилизован на JAVA стороне потребителя, мы получили ошибку ниже: org.apache.avro.util.Utf8 cannot be cast to java.lang.String

Итак, я думаю, Shema Dysyn c, не могли бы вы указать, как avro-tools-1.9.1.jar также генерирует поля с ключевыми словами типа avro. java .string, поэтому мы можем поблагодарить вас!

...