• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools

HSF 序列化不可变集合类型问题原因分析

Source : mp.weixin.qq.com

本文分析了在使用 HSF 服务时,因使用 Java 9 的不可变集合(如 Set.of())作为参数导致服务端反序列化失败的问题。根本原因在于 HSF 默认使用的 Hessian2 序列化机制不支持 Java 默认序列化中通过 writeReplace 和 readResolve 实现的不可变集合序列化逻辑:HSF 仅序列化非 transient 字段,而 CollSer 中存储元素的 array 字段为 transient,未被正确序列化,导致反序列化时 array 为 null,抛出 InvalidObjectException: null array 异常。最终解决方案是避免使用不可变集合,改用可变集合(如 HashSet)。

View 9 Technology lddgo Shared on 2025-08-29