How do I start my Java program with more than one java agent?

I'm aware of how to start a java progam with a java agent:

java -javaagent:myAgent.jar MyJavaProgram

But what if I want to add 2 or more java agents to instrument my program? I do not want to reinvoke the java -javaagent:... for every agent I have to load in JVM.

I've tried something like this :

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

or something like this:

java -javaagent:agentA.jar agentB.jar MyJavaProgram

But have no success.

Is there an answer to solve my problem ?

Thank you.

Answers


how about two javaagent parameters

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

It would appear you can do this by using multiple arguments. From the documentation:

On implementations with a command-line interface, an agent is started by adding this option to the command-line:

-javaagent:jarpath[=options] 

jarpath is the path to the agent JAR file. options is the agent options. This switch may be used multiple times on the same command-line, thus creating multiple agents. More than one agent may use the same jarpath. An agent JAR file must conform to the JAR file specification.

(my emphasis)


Adding to the above answers, if you are using ant and want to include <jvmargs /> with more than one jar to -javaagent to start the server, here's how I did it,

build.xml

<target name="blah">
...
    <jvmarg value="-javaagent:${jar1.path}" />
    <jvmarg value="-javaagent:${jar2.path}" />
...
</target>

There is a new project with the goal to support multiple Java agents. Currently it is limited to specific ones.

Agent Bond is a super agent, which wraps and dispatches on several other agents. That way, you only have to install a single agent within your JVM with a single set of configuration data (which contains multiple separate parts).

See https://github.com/fabric8io/agent-bond/blob/master/README.md for details


Need Your Help

What are "synchronization points"?

meld

In Meld there is an option available to add synchronization points. Unfortunately I cannot figure out what these so called synchronization points do. I have messed around with it but it doesn't act...

Is there any kind of HLSL or HYDRA Pixel Shader languages for JAVA?

java hlsl pixel-shader

Is there any kind of HLSL or HYDRA Pixel Shader languages vorking in toch with for JAVA? So I have an image. I want to use some Pixel Shader language to modify it as I do in Flash with HYDRA or HLS...