J'aimerais apprendre quelque chose sur les javaagents, mais la recherche n'est pas facile. La plupart des résultats se réfèrent à JADE
. Je sais Java peut signifier deux choses:
J'ai trouvé une question similaire ici , mais malheureusement, elle se réfère également à la version 1.
Connaissez-vous des articles, des tutoriels pour les débutants, un exemple de projet sur javaagent dans la version 2? J'en ai trouvé un ici, mais j'en cherche plus.
Le deuxième cas parle de Java Instrumentation API - ce lien pointe vers un Javadoc qui est plutôt descriptif.
Et voici l'instruction complète et un exemple de la façon de créer Java agent d'instrumentation .
Le concept principal est de:
Implémentez une méthode statique premain
(par analogie avec main
), comme ceci:
import Java.lang.instrument.Instrumentation;
class Example {
public static void premain(String args, Instrumentation inst) {
...
}
}
Créez un fichier manifeste (par exemple, manifest.txt
) marquant cette classe pour l'exécution pré-principale. Son contenu est:
Premain-Class: Example
Compilez la classe et empaquetez cette classe dans une archive JAR
:
javac Example.Java
jar cmf manifest.txt yourAwesomeAgent.jar *.class
Exécutez votre JVM avec -javaagent
paramètre, comme ceci:
Java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar
Peu de ressources utiles pour l'agent java comme décrit au point # 2.