alibaba / alibaba/one-java-agent
增强 java.lang.ClassLoader ,允许加载插件注册的类
- Lenguaje dominante
- Java
- Estrellas
- 579
- Forks
- 128
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
在插件增强目标类的字节码之后,通常会插入 插件自身的代码,那么要解决这些插入的代码的加载问题。
常见的办法有几种:
* 把插件的jar,强行加到ClassLoader的 urls里,像pinpoint就这样子的
* 把插件的jar,加到 system classloader的 urls,或者 bootstrap classloader的 urls
还有一种办法是增强 java.lang.ClassLoader ,在 loadClass 函数里,查找到插件的类,直接返回。
同时可能还要修改 checkPackageAccess 函数。
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con los puntos de entrada de java.lang.ClassLoader mencionados en el issue, especialmente loadClass y posiblemente checkPackageAccess, y luego inspecciona cómo este agente maneja actualmente las clases mejoradas y los JAR de plugins. El issue presenta varios enfoques posibles, pero no menciona archivos ni tests; para avanzar es necesario decidir el diseño de carga y definir cómo deben resolverse las clases registradas por los plugins.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100