Hazelcast : NotSerializableException



我使用的是Hazelcast:地图

//当我这样做时:

map.put(gen.newId(), myObject);

myObject是一个非常复杂的对象,并且不实现Serializable。

我认为像下面这样的配置就足够了,不必实现可串行化:

<map name="myMap">
    <in-memory-format>OBJECT</in-memory-format>   
</map>

Hazelcast医生说:http://docs.hazelcast.org/docs/3.5/manual/html/entryprocessor.html"当它被存储为对象(object格式)时,条目处理器直接应用于对象。在这种情况下,不会执行序列化或反序列化"

谢谢你的建议。

不幸的是,无论内存中的格式如何,当调用map.put时,对象都将被反序列化。这是因为通常有备份,而且他们还需要接收副本。因此,在这种情况下,唯一的解决方法是使对象"可序列化"。您可以使用Java序列化,但也可以依赖Kryo之类的东西来处理复杂的对象图。

我认为您还可以使用更高效的榛子铸造特定解决方案。这是解决方案的比较表。Portable一直在为我工作,但对于大型对象来说,实现和维护起来很麻烦。DataSerializable是一个更简单的解决方案,看起来很像Android中的Parcelable。

相关内容

  • 没有找到相关文章

最新更新