Tutoriais sobre javaagents [fechados]

Gostaria de aprender algo sobre javaagents, mas pesquisar não é fácil. A maioria dos resultados refere-se a JADE. Sei que o agente java pode significar duas coisas:
    Um agente programado em Java a encarnar o agente conceito de sistemas distribuídos.
  1. Um componente de software de baixo nível para aumentar o funcionamento de uma JVM, tais como como profilers, ferramentas de cobertura de código, etc

encontrei uma pergunta semelhante aqui , mas infelizmente também se refere à versão 1.

conhece algum artigo, tutoriais para iniciantes, projecto de exemplo sobre o javaagent na versão 2? Encontrei um aqui, mas estou à procura de mais.

Author: Community, 2012-08-10

2 answers

O segundo caso fala sobre Java Instrumentation API - este link aponta para um Javadoc que é bastante descritivo.

E aqui, está a instrução completa e um exemplo de como criar o agente de instrumentação java .

O conceito principal é:

  1. Implementar um método estático premain (como uma analogia ao método main), Assim:

    import java.lang.instrument.Instrumentation;
    
    class Example {
        public static void premain(String args, Instrumentation inst) {
            ...
        }
    }
    
  2. Criar um ficheiro Manifesto (digamos, manifest.txt) marcando esta classe para pré-main execucao. O seu conteúdo é:

    Premain-Class: Example
    
  3. Compile a classe e embale esta classe num arquivo JAR:

    javac Example.java
    jar cmf manifest.txt yourAwesomeAgent.jar *.class
    
  4. Execute o seu JVM com o parâmetro -javaagent, assim:

    java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar
    
 67
Author: npe, 2017-02-14 12:05:20

Poucos recursos úteis para o javaagent, como descrito no ponto #2.

 4
Author: devmake, 2017-03-30 08:21:54