Wie kann ich ein Java-Programm mit mehr als einem Java-Agenten starten?
-
22-08-2019 - |
Frage
Ich bin mir dessen bewusst, wie ein Java-Progamm mit einem Java-Agenten zu starten:
java -javaagent:myAgent.jar MyJavaProgram
Aber was, wenn ich will Instrument mein Programm 2 oder mehr Java-Agenten hinzufügen? Ich will nicht die Java--javaagent zu erneut aufrufen. ... für jeden Agenten ich in JVM geladen haben
Ich habe so etwas wie dies versucht:
java -javaagent:agentA.jar, agentB.jar MyJavaProgram
oder so etwas wie folgt aus:
java -javaagent:agentA.jar agentB.jar MyJavaProgram
Aber keinen Erfolg haben.
Gibt es eine Antwort, mein Problem zu lösen?
Danke.
Lösung
, wie etwa zwei javaagent Parameter
java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram
Andere Tipps
Es scheint, Sie können dies tun, indem mehrere Argumente verwenden. Von der Dokumentation :
Bei Implementierungen mit einer Kommandozeilen-Schnittstelle wird ein Agent gestartet durch Hinzufügen dieser Option an die Befehlszeile:
-javaagent:jarpath[=options]
jarpath ist der Pfad zu dem Agenten JAR-Datei. Optionen sind die Agent-Optionen. werden Dieser Schalter kann mehrfach auf der gleichen Befehlszeile und schaffen so Mehrfachagenten verwendet. Mehr als ein Mittel kann die gleiche jarpath verwenden. Ein Agent JAR-Datei muss mit der JAR-Datei-Spezifikation entsprechen.
(Hervorhebung von mir)
Zusätzlich zu den oben genannten Antworten, wenn Sie Ameise verwenden und wollen <jvmargs />
mit mehr als einem Glas aufzunehmen, um zu -javaagent
den Server zu starten, ist hier, wie ich es tat,
build.xml
<target name="blah">
...
<jvmarg value="-javaagent:${jar1.path}" />
<jvmarg value="-javaagent:${jar2.path}" />
...
</target>
Es ist ein neues Projekt mit dem Ziel, mehr Java-Agenten zu unterstützen. Derzeit ist es auf spezifische beschränkt.
Agent-Bond ist ein Super-Agent, der auf mehreren anderen Agenten und entsendet wickelt. Auf diese Weise können Sie nur einen einzigen Agenten in Ihrer JVM mit einem einzigen Satz von Konfigurationsdaten installieren (die mehrere getrennte Teile enthält).
Siehe https://github.com/fabric8io/agent- Bindung / Blob / Master / README.md Details