Hazelcast Jet和Node.JS客户端序列化问题

Hazelcast Jet和Node.JS客户端序列化问题,node.js,hazelcast,hazelcast-jet,Node.js,Hazelcast,Hazelcast Jet,我有Jet 0.6作为备份,并安装了一些Node.JS进程和hazelcast nodejs客户端0.8.0。我试图从节点过程中推导出一个对象,该对象正好是喷射侧类似对象的反射。然而,我不明白如何确保在Jet方面,这个JS对象将分别被序列化/反序列化。我有一种感觉,我需要向Jet指出,这个JSON对象是数据POJO,应该使用适当的序列化/反序列化 在节点端: var data = { id: someObject.did, // long time: someObject.tim

我有Jet 0.6作为备份,并安装了一些Node.JS进程和hazelcast nodejs客户端0.8.0。我试图从节点过程中推导出一个对象,该对象正好是喷射侧类似对象的反射。然而,我不明白如何确保在Jet方面,这个JS对象将分别被序列化/反序列化。我有一种感觉,我需要向Jet指出,这个JSON对象是数据POJO,应该使用适当的序列化/反序列化

在节点端:

var data = {
    id: someObject.did, // long
    time: someObject.time, // long
};
dataMap.put(data.id, data).then(
    function () {
        console.log("Ok");
    },
    function (error) {
        console.error(error);
    }
);
在喷气式飞机方面: 公共类数据实现可序列化{

private long id;
private long time;

public Data(long id, long time) {
    this.id = id;
    this.time = time;
}

public long getId() {
    return id;
}

public long getTime() {
    return time;
}
更新:

我设法找到了调用堆栈中的
DefaultSerializer.ts
,它显然负责将JS对象转换为
数据
实例,然后通过
MapProxy
服务发送到缓存:

export class JsonSerializer implements Serializer {
    getId(): number {
        return -130;
    }

    read(input: DataInput): any {
        return JSON.parse(input.readUTF());
    }

    write(output: DataOutput, object: any): void {
        output.writeUTF(JSON.stringify(object));
    }
}

Node.js和Java端都需要正确的序列化配置。但是,
Serializable
是一个仅限Java的接口。因此Hazelcast Node.js客户端无法使用它。 您需要您的对象在两侧实现IdentifiedDataSerializable或Portable

Node.js已识别数据可序列化示例:


Java标识数据可序列化示例:

谢谢,我正在研究这个方向,但找不到客户端的
IdentifiedDataSerializable
示例