![](/img/trans.png)
[英]Can not upgrade infinispan to 9.1.0.Final: ClassCastException
[英]Upgrade from Infinispan 8 to 12
我正在將我的項目從一個簡單的 infinispan 緩存版本 8 升級到 12,沒什么特別的,只是將一些序列化的 java 對象存儲在一個文件中。 升級到 infinispan 12 后,不能再序列化很多原生 java 類型如 HashMap,導致如下錯誤:
Caused by: org.infinispan.commons.marshall.NotSerializableException: Object of type class java.util.HashMap expected to be marshallable
我該如何處理? 有沒有辦法為 HashMap 等提供編組器?
我嘗試更改配置 xml 文件中的編組器但沒有成功,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
這導致了一個未命名的模塊錯誤:
org.infinispan.commons.CacheConfigurationException: java.lang.ClassCastException: class org.infinispan.commons.marshall.JavaSerializationMarshaller cannot be cast to class org.infinispan.commons.marshall.Marshaller (org.infinispan.commons.marshall.JavaSerializationMarshaller is in unnamed module of loader 'deployment.PFC-1.0.ear' @53818c17; org.infinispan.commons.marshall.Marshaller is in unnamed module of loader 'org.infinispan.commons@12.1.4.Final' @4bf5c7a4)
還有其他解決方案嗎? 我怎樣才能盡可能容易地解決這個問題?
該隱式編組器已被棄用。 如果您想繼續使用它,請通過這個新的顯式依賴項添加它:
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-jboss-marshalling</artifactId>
<version>${infinispan.version}</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.