我对Java对象的Avro序列化有一个特定的问题.我有从xsd架构生成的POJO,然后我尝试使用avro序列化放置在kafka主题上.一些xmlElements是可选的
测试消息如下所示:
@XmlRootElement(name = "message")
public class Testmessage {
@XmlElement
public String id;
@XmlElement
public String name;
public Testmessage(String id, String name) {
this.id = id;
this.name = name;
}
public Testmessage() { }
@Override
public String toString() {
return "Message{" +
"id='" + id + '\'' +
", name=" + name +
'}';
}
}
Run Code Online (Sandbox Code Playgroud)
序列化和放置主题的方法是:
public void sendMessage(Testmessage msg) throws Exception{
DatumWriter<Testmessage> writer = new ReflectDatumWriter<Testmessage>(Testmessage.class);
ByteArrayOutputStream os = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(os, null);
writer.write(msg, encoder); …Run Code Online (Sandbox Code Playgroud)