jvm - ¿Cómo comienzo mi programa Java con más de un agente Java?
javaagents (4)
Soy consciente de cómo comenzar un programa java con un agente java:
java -javaagent:myAgent.jar MyJavaProgram
¿Pero qué sucede si deseo agregar 2 o más agentes java para instrumentar mi programa? No quiero reinvocar el java -javaagent: ... para cada agente que tengo que cargar en JVM.
He intentado algo como esto:
java -javaagent:agentA.jar, agentB.jar MyJavaProgram
o algo como esto:
java -javaagent:agentA.jar agentB.jar MyJavaProgram
Pero no tienen éxito.
¿Hay una respuesta para resolver mi problema?
Gracias.
¿qué tal dos parámetros javaagent
java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
Agregando a las respuestas anteriores, si está usando ant y desea incluir <jvmargs />
con más de un jar para -javaagent
para iniciar el servidor, así es como lo hice,
build.xml
<target name="blah">
...
<jvmarg value="-javaagent:${jar1.path}" />
<jvmarg value="-javaagent:${jar2.path}" />
...
</target>
Hay un nuevo proyecto con el objetivo de soportar múltiples agentes de Java. Actualmente está limitado a los específicos.
Agent Bond es un super agente, que envuelve y envía a otros agentes. De esa manera, solo tiene que instalar un solo agente dentro de su JVM con un único conjunto de datos de configuración (que contiene varias partes separadas).
Consulte https://github.com/fabric8io/agent-bond/blob/master/README.md para obtener más información.
Parece que puedes hacer esto usando múltiples argumentos. De la documentation :
En las implementaciones con una interfaz de línea de comandos, se inicia un agente agregando esta opción a la línea de comandos:
-javaagent:jarpath[=options]
jarpath es la ruta al archivo JAR del agente. opciones es las opciones de agente. Este modificador se puede usar varias veces en la misma línea de comando, creando así múltiples agentes . Más de un agente puede usar el mismo jarpath. Un archivo JAR de agente debe cumplir con la especificación del archivo JAR.
(mi énfasis)