【发布时间】:2021-01-07 08:17:03
【问题描述】:
我将下面的实例保存到 Aerospike 数据库。 我要序列化的课程
public class School implements Serializable {
private static final long serialVersionUID = 1L;
private JsonNode studentInfo;
private JsonNode teacherInfo;
private void writeObject(ObjectOutputStream out) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue((OutputStream) out, studentInfo);
mapper.writeValue((OutputStream) out, teacherInfo);
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
ObjectMapper mapper = new ObjectMapper();
this.studentInfo = mapper.readValue((InputStream) in, JsonNode.class);
this.teacherInfo = mapper.readValue((InputStream) in, JsonNode.class);
}
}
使用上面的代码,保存到数据库工作正常(序列化)。
但是当我尝试从数据库(反序列化)获取数据时,我面临以下异常。
Caused by: com.aerospike.client.AerospikeException$Serialize: Error -10,1,30000,0,5,BB95B2FFB6EA79A 10.66.29.66 3030: ***com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input***
at [Source: java.io.ObjectInputStream@6ff29830; line: 1, column: 0]
at com.aerospike.client.command.Buffer.bytesToObject(Buffer.java:341)
at com.aerospike.client.command.Buffer.bytesToParticle(Buffer.java:69)
如果我遗漏了什么,请告诉我。
【问题讨论】:
标签: serialization deserialization aerospike