ejemplo - tag java
Tutoriales sobre javaagents (2)
Me gustaría aprender algo sobre javaagents, pero investigar no es fácil. La mayoría del resultado se refiere a JADE
. Sé que el agente de Java puede significar dos cosas:
- Un agente programado en Java es una encarnación del concepto de agente de sistemas distribuidos.
- Un componente de software de bajo nivel para aumentar el funcionamiento de una JVM, como perfiladores, herramientas de cobertura de código, etc.
He encontrado una pregunta similar here , pero desafortunadamente también se refiere a la versión 1.
¿Conoces algún artículo, tutoriales para principiantes, proyecto de muestra sobre javaagent en la versión 2? Encontré uno here, pero estoy buscando más.
El segundo caso se refiere a la API de instrumentación de Java : este enlace apunta a un Javadoc que es bastante descriptivo.
Y aquí, está la instrucción completa y un ejemplo de cómo crear un agente de instrumentación Java .
El concepto principal es:
Implemente un
premain
estático (como una analogía almain
), como este:import java.lang.instrument.Instrumentation; class Example { public static void premain(String args, Instrumentation inst) { ... } }
Cree un archivo de manifiesto (por ejemplo,
manifest.txt
) que marque esta clase para la ejecución previa principal. Sus contenidos son:Premain-Class: Example
Compila la clase y empaca esta clase en un archivo
JAR
:javac Example.java jar cmf manifest.txt yourAwesomeAgent.jar *.class
Ejecute su JVM con el parámetro
-javaagent
, así:java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar
Pocos recursos útiles para javaagent como se describe en el punto n. ° 2.