alibaba / alibaba/one-java-agent
解决agent的API类在自定义的ClassLoader里加载的问题
- Lingua principale
- Java
- Stelle
- 579
- Fork
- 128
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
* 默认情况下,加载java agent的是SystemClassLoader,那么应用自己定义的ClassLoader,如果parent不是 SystemClassLoader,就加载不到java agent里的类。
比如,有一个类Foo,它有一个函数bar:
```java
public class Foo {
public void bar() {
}
}
```
有一个Java Agent想做一些类增强,会插入一些代码:
```java
public class Foo {
public void bar() {
SampleAgent.log("here");
}
}
```
* 这就要求加载Foo的ClassLoader必须要能加载到SystemClassLoader里的`SampleAgent`类。
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Non sono indicati file o test. Inizia tracciando come l’agente Java espone SampleAgent alle classi caricate da un ClassLoader definito dall’applicazione il cui parent non è il SystemClassLoader, quindi riproduci l’esempio Foo/bar. Il lavoro è completato quando la chiamata iniettata SampleAgent.log(\"here\") può essere risolta ed eseguita in questa configurazione del loader.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 30/100