Open hengyunabc opened 2 years ago
正常来说,一个普通的 java agent,如果是以 -javaagent: 方式启动,注册 ClassFileTransformer 之后,后续加载的类都会经过注册的 ClassFileTransformer 处理。
-javaagent:
但实际发现,有部分类并不会被处理。只有注册时设置canRetransform为true时,才会被处理。
canRetransform
比如这个类:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 。
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
Instrumentation#addTransformer(ClassFileTransformer transformer, boolean canRetransform);
记录一下现象。
正常来说,一个普通的 java agent,如果是以
-javaagent:
方式启动,注册 ClassFileTransformer 之后,后续加载的类都会经过注册的 ClassFileTransformer 处理。但实际发现,有部分类并不会被处理。只有注册时设置
canRetransform
为true时,才会被处理。比如这个类:
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
。记录一下现象。