2017-04-25 47 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非常支持它,因爲它是支持遠程查詢和其他幾項高級功能的基本要求。