当生产者和消费者方案不同时,Avro反序列化

时间:2018-11-12 13:58:02

标签: avro

我正在程序中进行跟踪。 1.消费RabbitMQ的消息(字节)。 AVRO格式用于序列化数据,然后在队列上生成。 2.使用完后,请使用反序列化方法在AVRO生成的Java对象中反序列化。

public T deserialize(String pTopic, byte[] pData) {
  T lResult = null;
  if (pData != null) {
    DatumReader<GenericRecord> lDatumReader = new SpecificDatumReader<>(targetType.newInstance().getSchema());
    Decoder lDecoder = DecoderFactory.get().binaryDecoder(pData, null);
    lResult = (T) lDatumReader.read(null, lDecoder);
  }
  return lResult;

}

当我双方都有相同的架构时,它工作正常。如果生产者端发生更改,请添加/删除某些字段或属性,则无法反序列化并引发异常。

在消费者方面,有什么方法可以忽略模式中/的更改吗? 我的旧架构足以应付我的处理。

预先感谢

0 个答案:

没有答案