在 hazelcast 3.5 中获取 returns 超类 ArrayList 的值
get returns a value of the superclass ArrayList in hazelcast 3.5
我在使用 hazelcast 3.5 时遇到序列化问题:
当一个 hazelcast 客户(Java)输入值 class
public class MyType extends ArrayList<MyElem>
到映射中,然后另一个客户端(其他 Java 进程)检索该值,
它返回值 class ArrayList
,而不是预期的 subclass MyType
!
在 hazelcast 版本 3.1.3 中,这工作正常:第二个客户端检索到一个值
正确的子class MyType
.
我使用了示例配置 hazelcast.xml 和启动脚本 server.bat
在两个 hazelcast 版本中。
这可能是新 3.5 版本中的错误吗?
我的客户端配置是空。
Hazelcast(我猜是)3.4 为 List 子类添加了一个专门的序列化程序。您必须注册一个自定义序列化程序才能获取您的类型。您可以将 Hazelcast 内部序列化程序子类化,只需交换您使其唯一标识的工厂和类型 ID。
我在使用 hazelcast 3.5 时遇到序列化问题:
当一个 hazelcast 客户(Java)输入值 class
public class MyType extends ArrayList<MyElem>
到映射中,然后另一个客户端(其他 Java 进程)检索该值,
它返回值 class ArrayList
,而不是预期的 subclass MyType
!
在 hazelcast 版本 3.1.3 中,这工作正常:第二个客户端检索到一个值
正确的子class MyType
.
我使用了示例配置 hazelcast.xml 和启动脚本 server.bat 在两个 hazelcast 版本中。
这可能是新 3.5 版本中的错误吗?
我的客户端配置是空。
Hazelcast(我猜是)3.4 为 List 子类添加了一个专门的序列化程序。您必须注册一个自定义序列化程序才能获取您的类型。您可以将 Hazelcast 内部序列化程序子类化,只需交换您使其唯一标识的工厂和类型 ID。