我有一个类A
,一个缓存A_CACHE
和一个代理对象AProxy extends A
。我的目标是序列化AProxy
对象,就像它们是A
对象(自动替换类型)一样,并将它们放入A_CACHE
中。
在Apache Ignite中,有什么方法可以替代我尝试放入缓存中的对象类型(使用BinarySerializer进行序列化)?
到目前为止我尝试过的。
我已经为两种类型实现并注册了相同的BinarySerializer
。我也尝试过使用BinaryNameMapper
类来为两个类返回相同的类名,但是没有成功。我现在想到的唯一选择是使用BinaryObjectBuilder
。对我来说真的是唯一的选项吗?
答案 0 :(得分:0)
经过少量研究后,找到了解决方案。
AProxy
应该实现writeReplace
接口的Serializable
方法。从此方法返回代理实例。如果代理类是Serializable
或Externalizable
,并且想要应用自定义序列化,则Binarylizable
接口应该由代理类实现(使用上述技巧时,不应用自定义二进制序列化程序,但是而是使用OptimizedMarshaller
)。