解决Dubbo在反序列化时报错

本文讲述了Dubbo在反序列化时遇到的IOException,原因在于类检查机制默认为STRICT,禁止了未在白名单内的类。提供了将检查模式改为WARN或DISABLE以及如何添加类到白名单的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务在反序列化时报错:java.io.IOException: org.apache.dubbo.common.serialize.SerializationException: java.lang.IllegalArgumentException: [Serialization Security] Serialized class [类名] is not in allow list. Current mode is STRICT, will disallow to deserialize it by default. Please add it into security/serialize.allowlist or follow FAQ to configure it.
参考官网关于类检查机制的说明
dubbo类检查机制
我使用的版本默认的检查模式为STRICT,禁止反序列化所有不在允许序列化列表(白名单)中的类。
共有三个模式:STRICT 严格检查,WARN 告警,DISABLE 禁用

解决方法

有两种解决方法

  1. 将检查模式改为较为宽松的级别:可以通过配置dubbo.application.serialize-check-status=WARN或者dubbo.application.serialize-check-status=DISABLE
  2. 将要反序列化的类加入到白名单:在资源目录(resource)下定义security/serialize.allowlist文件,并将类的全名写入:
# security/serialize.allowlist
io.dubbo.test
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值