alibaba / alibaba/fastjson2

[QUESTION]反序列化时,如何处理手工注册的类

Open
#3,291 0 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Java
Stars
4.4k
Forks
613
Avg merge
1d 22h
Merged PRs (30d)
6

Description

### 请描述您的问题
*询问有关本项目的使用和其他方面的相关问题。*
开发环境 jdk21+springboot3
1、系统中有两个类 ClassA,ClassB,ClassB是ClassA中某个属性的类型;
2、ClassA和CalssB是通过代码的方法,手工注入到上下文,而不是由sprinboot自动注入
3、反序列化ClassA时,会提示ClassB的类定义不存在,但单独反序列化ClassB时正常
4、出现这种问题,是否是反序列化时,DaynamicClassLoader的parentClassLoader设置引起的
5、如何实现反序列化时,可以自动的加载到从不同jar包,手工注册的Class

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue on JDK 21 with Spring Boot 3 using manually registered ClassA and ClassB, including ClassB as a property of ClassA. Inspect how DynamicClassLoader resolves the parent class loader during ClassA deserialization. Done means ClassA can be deserialized with ClassB loaded from its separately registered JAR.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring-boot
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.