Ошибка при использовании kafka-avro-console-consumer потребляет сообщение avro, отправленное весенним облачным потоком kafka
Я попробовал официальный пример схемы-реестра-слияния (потребитель / производитель) с моим локальным установленным слитком 4.0.0, он может отправлять "сенсорное" авро-сообщение, когда отправляю пост-запрос и получаю в приемнике, но когда я использую kafka-avro-console- потребительский инструмент, поставляемый с confluent 4.0.0 для просмотра отправленного авро сообщения, инструмент выдал следующую ошибку (a). Я также попытался использовать avro-сообщение, отправленное инструментом kafka-avro-console -roduction (и сообщение может быть правильно отображено в инструменте kafka-avro-console-consumer), сообщило о следующей ошибке (b). Разве данный пример не поддерживает слияние 4.0.0? Большое спасибо!
(a) ошибка kafka-avro-console-consumer =>
ОШИБКА Неизвестная ошибка при запуске потребителя: (kafka.tools.ConsoleConsumer$:107) org.apache.kafka.common.errors.SerializationException: Ошибка десериализации сообщения Avro для идентификатора -1. Причина: org.apache.kafka.common.errors.SerializationException: неизвестный магический байт!
(б) ошибка слушателя =>
org.springframework.messaging.converter.MessageConversionException: не удалось прочитать JSON: недопустимый символ UTF-32 0x51473863 (выше 0x0010ffff) для символа #1, байт #7); Вложенное исключение - java.io.CharConversionException: недопустимый символ UTF-32 0x51473863 (выше 0x0010ffff) в char #1, байт # 7) в org.springframework.messaging.converter.MappingJackson2MessageConverter.convertFromIntern2MessageJ_Jerver.jpg (spring)JJ -messaging-5.1.0.BUILD-SNAPSHOT.jar /:5.1.0.BUILD-ПАНОРАМА]
1 ответ
Каждый раз, когда есть MessageConversionException
это просто означает, что предоставленные конвертеры сообщений не могут конвертировать сообщения.,, и по праву, так как мы не можем справиться с каждым сценарием, только общие. Итак, вы должны реализовать собственный конвертер сообщений (либо с нуля, либо с расширением одного из существующих). Вот дополнительная информация о том, как определить пользовательский конвертер сообщений https://docs.spring.io/spring-cloud-stream/docs/Fishtown.M1/reference/htmlsingle/