【问题标题】:Apache Avro generated POJOApache Avro 生成 POJO
【发布时间】:2020-07-12 01:48:31
【问题描述】:

我正在使用带有 kafka 的 Apache avro 来序列化/反序列化消息, 我想知道是否有办法在不使用生成的 POJO 的情况下使用 avro(不是很可读)?

谢谢。

【问题讨论】:

    标签: spring-boot apache-kafka avro


    【解决方案1】:

    当然,你说的是 Avro 的 GenericRecord

    final KafkaConsumer<String, GenericRecord> consumer = new KafkaConsumer<>(props);
    consumer.subscribe(Collections.singletonList(topic));
    
    while (true) {
      final ConsumerRecords<String, GenericRecord> records = consumer.poll(100);
      for (final ConsumerRecord<String, GenericRecord> record : records) {
        final GenericRecord value = record.value();
        System.out.printf("the value of userId: %s%n", record.get("userId");
      }
    }
    

    这样做的缺点是您必须知道并检查您正在使用GenericRecord#get() 的字段键是否存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-26
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多