Java 9 Jigsaw-Unterstützung für Java-Agent

8

Gibt es in Java 9 (speziell Jigsaw) einen Plan zur Unterstützung der speziellen Anforderungen von Java-Überwachungsagenten?

In der Regel erfordern Überwachungsagenten den Zugriff auf Klassen, Pakete und Module, die für die ursprünglichen Java-Anwendungen nicht standardmäßig verfügbar sind. Überwachungsagenten, die über das Befehlszeilenargument -javaagent in die JVM geladen werden, werden nicht als Module geladen, selbst wenn die JAR-Datei eine modul-info.class-Datei enthält. Die einzige Möglichkeit, meinem Überwachungsagenten die erforderlichen Berechtigungen zu geben, besteht darin, Befehlszeilenargumente hinzuzufügen, die diese Berechtigungen für alle unbenannten Module bereitstellen.

    
BradW 22.02.2017, 21:58
quelle

1 Antwort

6

Die Instrumentation klasse wurde erweitert mit einer Methode, die die Neudefinition jedes Moduls erlaubt. Es ermöglicht Ihnen das Hinzufügen von zusätzlichen Modul-Lese-, -Export-, -Open-, -Service-Verwendungen und -Anwendungen:

%Vor%

Auch die ClassFileTransformer API wurde erweitert um ein Java Module bei einer Umwandlung zu registrieren:

%Vor%

Dieses Modul ermöglicht in Verbindung mit der Instrumentierungs-API die Anpassung.

Derzeit werden Java-Agenten immer noch in den Klassenpfad geladen, ohne eine Modularisierung anzuwenden. Dies kann sich jedoch ändern, da Java 9 noch nicht endgültig ist.

    
Rafael Winterhalter 23.02.2017 19:13
quelle