springboot redis類型轉換異常

java.lang.ClassCastException: com.crazyang.entity.Goods cannot be cast to com.crazyang.entity.Goods

###該錯誤的引起是由於開發中引入了DevTools進行熱部署。
當對象被序列化到緩存裏時,當前應用的類加載器是C1,當你改變了一些代碼或者配置文件的時候,DevTools 工具將會自動重新啓動這個容器,並且創建一個新的類加載器 C2. 這時候調用這個具有緩存的方法時,緩存管理將會從緩存裏找到該條緩存記錄並進行反序列化操作。如果緩存庫不考慮上下文的話,也就是沒注意到類加載器的變化時,該對象將會有錯誤的類加載器(這解釋了奇怪的異常)。
其實就是因上下文類加載器不同而產生這樣的錯誤,那麼歸根結底就是因SpringBoot DevTools工具搞的鬼。

解決方法:在pom.xml中註釋掉devtools依賴即可!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章