Как запустить программу Java с несколькими агентами java?
Я знаю, как запустить Java-программу с помощью агента java:
java -javaagent:myAgent.jar MyJavaProgram
но что делать, если я хочу добавить 2 или более агентов java для инструмента моей программы? Я не хочу заново создавать java-javaagent:... для каждого агента я должен загрузить в JVM.
Я пробовал что-то вроде этого :
java -javaagent:agentA.jar, agentB.jar MyJavaProgram
или что-то вроде этого:
java -javaagent:agentA.jar agentB.jar MyJavaProgram
но не имеют успеха.
есть ответ, чтобы решить мою проблему ?
спасибо вы.
4 ответа:
казалось бы, вы можете сделать это с помощью нескольких аргументов. Из документация:
в реализациях с интерфейсом командной строки агент запускается путем добавления этой опции в командную строку:
-javaagent:jarpath[=options]
jarpath - это путь к файлу jar агента. опции это параметры агента. этот переключатель может использоваться несколько раз в одной командной строке, что создает несколько агенты. Несколько агентов могут использовать один и тот же jarpath. Файл jar агента должен соответствовать спецификации файла JAR.
(Курсив мой)
добавление к приведенным выше ответам, Если вы используете ant и хотите включить
<jvmargs />
С более чем одной баночки в-javaagent
запустить сервер, вот как я это сделал,построить.xml
<target name="blah"> ... <jvmarg value="-javaagent:${jar1.path}" /> <jvmarg value="-javaagent:${jar2.path}" /> ... </target>
есть новый проект с целью поддержки нескольких агентов на Java. В настоящее время он ограничен конкретными.
агент Бонд-это супер агент, который обертывает и отправляет несколько других агентов. Таким образом, вам нужно установить только один агент в вашей JVM с одним набором данных конфигурации (который содержит несколько отдельных частей).
см.https://github.com/fabric8io/agent-bond/blob/master/README.md ибо подробности