tutorial tag ejemplo java javaagents

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:

  1. Un agente programado en Java es una encarnación del concepto de agente de sistemas distribuidos.
  2. 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:

  1. Implemente un premain estático (como una analogía al main ), como este:

    import java.lang.instrument.Instrumentation; class Example { public static void premain(String args, Instrumentation inst) { ... } }

  2. 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

  3. Compila la clase y empaca esta clase en un archivo JAR :

    javac Example.java jar cmf manifest.txt yourAwesomeAgent.jar *.class

  4. Ejecute su JVM con el parámetro -javaagent , así:

    java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar