2017-04-25 51 views
0

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

我的问题是:缓存包含类型B(旧版本的B)的对象。我已经改变了B类,但从语义的角度来看,这个类仍然有相同的字段和方法,因为我移动的字段现在在父类中。是否有可能像更改类之前那样进行反序列化?

回答

1

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

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

你所拥有的protobuf你想如何当架构更新您的数据,以发展更好的控制。顺便说一下,Infinispan非常支持它,因为它是支持远程查询和其他几项高级功能的基本要求。