Open hengyunabc opened 3 years ago
目前会有重复define现象,需要解决,只define一次。 当instrument=
里配置了多个类时。
Caused by: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name: "org/apache/http/impl/client/MyTextMapSetter"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.alibaba.bytekit.utils.ReflectUtils.defineClass(ReflectUtils.java:462)
比如在增强 dubbo里,可能会有一些工具类,处理数据之后,才能传送到后续处理函数里。那么这些工具类需要在运行时动态 define 到应用的 ClassLoader 里。