Как запустить программу Java с несколькими агентами Java?

StackOverflow https://stackoverflow.com/questions/872657

  •  22-08-2019
  •  | 
  •  

Вопрос

Я знаю, как запустить Java-программу с помощью Java-агента:

java -javaagent:myAgent.jar MyJavaProgram

Но что, если я захочу добавить два или более Java-агента для оснащения своей программы?Я не хочу повторно вызывать java -javaagent:...для каждого агента, который мне нужно загрузить в JVM.

Я пробовал что-то вроде этого:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram

или что-то вроде этого:

java -javaagent:agentA.jar agentB.jar MyJavaProgram

Но успеха не имеют.

Есть ли ответ на мою проблему?

Спасибо.

Это было полезно?

Решение

как насчет двух параметров javaagent

java -javaagent:agentA.jar -javaagent:agentB.jar MyJavaProgram

Другие советы

Казалось бы, вы можете сделать это, используя несколько аргументов.Из документация:

В реализациях с интерфейсом командной строки агент запускается путем добавления этой опции в командную строку:

-javaagent:jarpath[=options] 

тропа — путь к JAR-файлу агента. параметры это параметры агента. Этот переключатель можно использовать несколько раз в одной и той же командной строке, создавая таким образом несколько агентов..Один и тот же jarpath может использовать более одного агента.Файл JAR агента должен соответствовать спецификации файла JAR.

(мой акцент)

Добавляя к приведенным выше ответам, если вы используете ant и хотите включить <jvmargs /> с более чем одной банкой для -javaagent чтобы запустить сервер, вот как я это сделал,

build.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 для подробностей

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top