在 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。