You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Infinispan失效缓存集群部署遇ISPN000615反序列化异常求助

解决Wildfly 25中Infinispan INVALIDATION_ASYNC缓存的ISPN000615反序列化异常

核心原因

尽管INVALIDATION_ASYNC模式主要发送失效消息而非缓存数据,但Infinispan在集群初始化、拓扑变更或内部元数据同步时,仍可能传递包含java.util.LinkedHashMap的对象。若PROTOSTREAM编组器未注册该类型的默认处理逻辑,就会触发反序列化失败。

无需自定义Marshaller的解决步骤

  • 全局配置PROTOSTREAM并注册默认类型初始化器
    在Wildfly的standalone.xml或domain.xml中,确保缓存容器的序列化配置明确使用PROTOSTREAM,并添加默认上下文初始化器(包含常用Java集合类型的编组定义):

    <cache-container name="your-cache-container" default-cache="your-cache" module="org.wildfly.clustering.infinispan">
      <transport lock-timeout="60000"/>
      <serialization marshaller="PROTOSTREAM">
        <!-- 注册默认Java类型的编组初始化器 -->
        <context initializers="org.infinispan.protostream.impl.DefaultContextInitializer"/>
      </serialization>
      <invalidation-cache name="your-cache" mode="ASYNC">
        <locking isolation="REPEATABLE_READ"/>
        <transaction mode="NON_XA"/>
      </invalidation-cache>
    </cache-container>
    
  • 检查缓存级序列化配置
    确保目标INVALIDATION缓存未单独指定其他编组器,避免覆盖全局配置。若缓存有单独的<serialization>节点,需保证其marshaller属性值为PROTOSTREAM,或直接移除该节点继承全局设置。

  • 确认依赖有效性
    Wildfly 25自带的org.wildfly.clustering.infinispan模块已包含infinispan-protostream依赖。若为自定义部署,pom.xml中需引入对应依赖并设置provided scope(避免冲突):

    <dependency>
      <groupId>org.infinispan</groupId>
      <artifactId>infinispan-protostream</artifactId>
      <version>12.1.7.Final</version> <!-- Wildfly 25对应Infinispan版本 -->
      <scope>provided</scope>
    </dependency>
    
  • 清理缓存残留文件
    停止所有集群节点,删除Wildfly安装目录下tmp和data文件夹中的缓存相关文件,避免旧序列化元数据干扰,随后重启集群。

  • 检查缓存加载器/存储配置
    若使用了JDBC缓存存储等自定义持久化组件,需确保其序列化设置与全局PROTOSTREAM配置一致,禁止混用不同编组器。

内容的提问来源于stack exchange,提问作者sprockets

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:57:12