Kafka Avro Serializer y deserializer excepción. Tipos compatibles con Avro

Estoy viendo el siguiente error

exception Unsupported Avro type. Supported types are null, Boolean, Integer, Long, Float, Double, String, byte[] and IndexedRecord

mis accesorios de productor kafka son

Properties props = new Properties();
    props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaConstants.BOOTSTRAP_SERVERS);
    props.put(ProducerConfig.BATCH_SIZE_CONFIG, 1000);
    props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
    props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class.getName());
    props.put("schema.registry.url", "http://localhost:8081");
    props.put("value.converter.schema.registry.url", "http://localhost:8081");
    props.put("producer.type", "sync");
    props.put(ProducerConfig.CLIENT_ID_CONFIG, KafkaConstants.CLIENT_ID);

    Producer<String, TweetInfoDto> producer = new KafkaProducer(props);

y mis accesorios de consumo kafka son

Properties props = new Properties();
    props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaConstants.BOOTSTRAP_SERVERS);
    props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
    props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class.getName());
    props.put(ConsumerConfig.GROUP_ID_CONFIG, "twitterCrawler");
    props.put(ConsumerConfig.CLIENT_ID_CONFIG, KafkaConstants.CLIENT_ID);
    props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);
    props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
    props.put("schema.registry.url", "http://localhost:8081");
    props.put("value.converter.schema.registry.url", "http://localhost:8081");

    Consumer<String, TweetInfoDto> consumer = new KafkaConsumer(props);

No estoy seguro de qué estoy haciendo mal.

Respuesta 1

TweetInfoDto no puede ser un objeto Java simple que usted mismo haya definido.

Idealmente, debería crearse a partir de un esquema Avro a través del complemento Avro Maven , por ejemplo.

Consulte el Tutorial de registro de esquemas para ver todos los pasos, incluida la definición de un AVSC y la generación de una clase Java para él.

Tutorial de código de muestra aquí

Respuesta: 2

Supongamos que tengo una clase como esta: public Class FooBar {String foo; Barra de cuerda; Cadena invisible Campo; ID de cadena; } Luego he creado una tabla usando DefaultTableModel y agregando ...

Me gustaría obtener enlaces del código HTML. Código de esta página: https://www.valorebooks.com/books/fiction/fantasy <div class = "sub_bar sub_bar_no_pointer"> <span class = "shown" & ...

He comprado un alojamiento VPS. Instalé java 1.7 y Tomcat 7. Implementé el archivo war en tomcat, funciona bien en el host local; Estoy obteniendo la salida deseada. También he comprado espacio de alojamiento. ...

Tengo una etiqueta <input /> en jsp, ¿por qué el usuario puede poner nombres de empresas y luego almacenar ese nombre en la base de datos y mostrar ese nombre nuevamente en la página de visualización (resultado jsp)? Todo funciona bien si solo trato ...