Hazelcast在另一个类中反序列化

Hazelcast在另一个类中反序列化,hazelcast,Hazelcast,你好,我有以下几个问题。我们正在使用Hazelcast IdentifiedSeializeable。基于两个类具有相同字段的假设,是否可以将序列化为一个类(例如User)的对象反序列化为另一个类AdminUser?如果您相应地构建工厂,并按照写入元素/字段的相同顺序读取元素/字段-是的。您只需要知道还有一个“小”问题,因为配置需要基本相似,或者新节点无法加入。所以你很可能需要给你的工厂增加一些魔力 另一方面,你为什么要这样做?当你发现你的用户实体是AdminUser时,反序列化后将它包装到Ad

你好,我有以下几个问题。我们正在使用Hazelcast IdentifiedSeializeable。基于两个类具有相同字段的假设,是否可以将序列化为一个类(例如User)的对象反序列化为另一个类AdminUser?

如果您相应地构建工厂,并按照写入元素/字段的相同顺序读取元素/字段-是的。您只需要知道还有一个“小”问题,因为配置需要基本相似,或者新节点无法加入。所以你很可能需要给你的工厂增加一些魔力


另一方面,你为什么要这样做?当你发现你的用户实体是AdminUser时,反序列化后将它包装到AdminUser实例中不是更容易吗?

如果你相应地构建你的工厂,并按照写入元素/字段的相同顺序读取元素/字段-是的。您只需要知道还有一个“小”问题,因为配置需要基本相似,或者新节点无法加入。所以你很可能需要给你的工厂增加一些魔力


另一方面,你为什么要这样做?当你发现你的用户实体是AdminUser时,反序列化后将它包装到AdminUser实例中不是更容易吗?

这可能很愚蠢,但我的想法是在微服务的意义上,一个域对象可能存在于包含不同业务逻辑的多个上下文中。基本上,我是在这样一种情况下思考的:有人正在实现一个持有其域模型的服务,该服务在逻辑上可能与同一事物的维度不同。我猜serializationID与factoryID一起写入字节数组。我真的不知道这个魔术可能是什么:)不确定,从来没有尝试过这样做smt。如果您的微服务是客户端,则没有问题,只需反序列化到不同的对象(只要您保持属性顺序),如果您使用嵌入式节点,这可能会更复杂,您可能希望使用StreamSerializer而不是存储附加数据或逻辑。是的,这是正确的按“如果它们是客户端”问题是我们有很多分布式功能。因此,如果可能的话,我会在这些分布式函数的上下文中思考。最终目标是避免使用统一的域模型不幸的是,我的CBOR(CBOR.io)编解码器和Hazelcast集成还没有准备好(至少还没有准备好生产),这可能会使您的用例更容易(至少对于数据/非功能而言)。这可能很愚蠢,但我的想法是在微服务的意义上,一个域对象可能存在于包含不同业务逻辑的多个上下文中。基本上,我是在这样一种情况下思考的:有人正在实现一个持有其域模型的服务,该服务在逻辑上可能与同一事物的维度不同。我猜serializationID与factoryID一起写入字节数组。我真的不知道这个魔术可能是什么:)不确定,从来没有尝试过这样做smt。如果您的微服务是客户端,则没有问题,只需反序列化到不同的对象(只要您保持属性顺序),如果您使用嵌入式节点,这可能会更复杂,您可能希望使用StreamSerializer而不是存储附加数据或逻辑。是的,这是正确的按“如果它们是客户端”问题是我们有很多分布式功能。因此,如果可能的话,我会在这些分布式函数的上下文中思考。最终目标是避免使用统一的域模型不幸的是,我的CBOR(CBOR.io)编解码器和Hazelcast集成还没有准备好(至少还没有准备好生产),这可能会使您的用例更简单(至少对于数据/非功能)。