alibaba / alibaba/one-java-agent

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

Aperta
#7 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
579
Fork
128
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

常见的办法有几种:

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

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

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dagli entry point di java.lang.ClassLoader menzionati nell’issue, in particolare loadClass ed eventualmente checkPackageAccess, quindi esamina come questo agent gestisce attualmente le classi migliorate e i JAR dei plugin. L’issue presenta diversi approcci possibili, ma non indica file o test; per procedere è necessario decidere il design del caricamento e definire come devono essere risolte le classi registrate dai plugin.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.