我正在使用与Axon框架集成的msgpack。因此,在运行时获得对象的type.As事件处理程序时,对象类型是未知的,我想使用泛型序列化/反序列化。序列化是正确的,但是当我反序列化字节流时会出现问题。例:
public <S, T> T deserialize(SerializedObject<S> serializedObject) {
byte[] serializedBytes= (byte[]) serializedObject.getData();
Object bytes = null;
try {
bytes=objectMapper.readValue(serializedBytes,Object.class);
System.out.println("After deserialization : "+bytes);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (T) bytes;
}其中serializedObject有自定义方法getData(),它包含序列化的字节。在这里,我读取了值&将表示形式给出为Object.class,我总是得到一个LinkedHashMap作为目标的返回值。是否有任何标准方法可以使用msgpack对任何对象类型执行泛型序列化/反序列化。
发布于 2015-05-22 05:36:08
没有类型信息,就不可能在运行时使用msgpack 请看这里反序列化对象。
https://stackoverflow.com/questions/30180819
复制相似问题