[英]com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.NotSerializableException: java.util.WeakHashMap
[英]Hazelcast : NotSerializableException
我正在使用帶有Hazelcast的地圖:
//當我做 :
map.put(gen.newId(), myObject);
myObject是一個非常復雜的對象,並且不實現Serializable。
我認為放置如下配置足以不必實現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之類的東西來處理復雜的對象圖。
我認為您也可以使用更有效的hazelcast特定解決方案。 這是解決方案的比較表。 Portable一直在為我工作,但是在實現和維護大型物體方面卻很難。 DataSerializable是一個更簡單的解決方案,看起來很像Android的Parcelable。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.