Infinispan:类更改和反序列化无法正常工作

时间:2017-04-25 13:47:30

标签: java spring serialization deserialization infinispan

我有一个使用Infinispan 6.0.1.Final的Spring Boot应用程序。我有两个类A和B. B扩展A.我有一个缓存存储类型B的对象。现在,我做了一个小改动,我将2个类字段和它的getter / setter从B移动到A,我已更新两个类中的序列号。当我重新启动应用程序,并从缓存中提取B类型的对象时,我移动的字段显示为空。

我的问题是:缓存包含B类对象(旧版B)。我已经更改了B类,但是从语义的角度来看,该类仍然使用相同的字段和方法,因为我移动的字段现在位于父类中。是否可以像更改类之前那样使反序列化工作?

1 个答案:

答案 0 :(得分:1)

当您知道在更改对象的类定义时可以删除Infinispan中的所有数据时,您应该只依赖Java序列化。

对于便携式对象表示,请使用Protobuf编码对象:

使用protobuf,您可以更好地控制在更新架构时数据如何发展。顺便提一下,Infinispan非常支持它,因为它是支持远程查询和其他一些高级功能的基本要求。