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.
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:
Auch die ClassFileTransformer
API wurde erweitert um ein Java Module
bei einer Umwandlung zu registrieren:
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.
Tags und Links monitoring java-9 agent java-module