嵌套对象上的 Hazelcast 序列化异常

Hazelcast serialization exception on nested Object

我正在使用 Spring Boot 1.5.1 和 Hazelcast 3.7.5。
缓存此实体的对象时出现 NotSerializableException(GeoPoint 不可序列化):

public class Test implements Serializable {
      private String title;
      private GeoPoint location;
}

我为此字段添加了自定义序列化程序:

SerializerConfig sc = new SerializerConfig()
            .setImplementation(new GeoPointSerializer())
            .setTypeClass(GeoPoint.class);
config.getSerializationConfig().addSerializerConfig(sc);

但例外仍然存在。
当我直接缓存 GeoPoint 时它确实有效:

@Cacheable("point")
public GeoPoint test() {
    return new GeoPoint(0, 0);
}

我如何告诉 Hazelcast 对该字段使用我的自定义序列化程序?

每当您将序列化交给 Java 序列化(可序列化或可外部化)时,内部序列化方案将不再有效。它基本上是一次可序列化,永远可序列化。也就是说有两个选项,使 class "Test" 至少 DataSerializable 或使 class "GeoPoint" Serializable / Externalizable.