可以使用Avro序列化和反序列化消息来避免这个问题。以下是一个示例代码:
// 创建一个Avro消息对象 GenericRecord avroRecord = new GenericData.Record(schema); avroRecord.put("name", "John"); avroRecord.put("age", 30);
// 将Avro消息对象转换为字节数组 byte[] avroData = serializeAvroData(avroRecord, schema);
// 创建一个Spring消息对象
Message
// 处理Spring消息对象 springMessageHandler.handleMessage(springMessage);
// 反序列化Avro消息 GenericRecord avroRecord2 = deserializeAvroData(avroData, schema);
// 获取Avro消息的属性 String name = avroRecord2.get("name").toString(); int age = (int) avroRecord2.get("age");
上一篇:AVRO可选的可空字段