alibaba / alibaba/one-java-agent

增强 java.lang.ClassLoader ,允许加载插件注册的类

Ouverte
#7 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
579
Forks
128
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

在插件增强目标类的字节码之后,通常会插入 插件自身的代码,那么要解决这些插入的代码的加载问题。

常见的办法有几种:

* 把插件的jar,强行加到ClassLoader的 urls里,像pinpoint就这样子的
* 把插件的jar,加到 system classloader的 urls,或者 bootstrap classloader的 urls

还有一种办法是增强 java.lang.ClassLoader ,在 loadClass 函数里,查找到插件的类,直接返回。

同时可能还要修改 checkPackageAccess 函数。

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par les points d’entrée de java.lang.ClassLoader mentionnés dans l’issue, en particulier loadClass et éventuellement checkPackageAccess, puis examinez comment cet agent gère actuellement les classes améliorées et les JAR de plugins. L’issue présente plusieurs approches possibles, mais ne nomme aucun fichier ni test ; pour progresser, il faut décider de la conception du chargement et définir comment les classes enregistrées par les plugins doivent être résolues.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.