如何用多个Java代理启动我的Java程序?
我知道如何用java代理启动java程序:
java -javaagent:myAgent.jar MyJavaProgram
但是,如果我想添加2个或更多的Java代理来testing我的程序呢? 我不想重新激活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]
jarpath是代理JAR文件的path。 选项是代理选项。 这个开关可以在同一个命令行中多次使用,从而创build多个代理 。 多个代理可能使用相同的jarpath。 代理JAR文件必须符合JAR文件规范。
(我的重点)
添加到上面的答案,如果你正在使用ant,并希望包含<jvmargs />
与多个jar到-javaagent
来启动服务器,这是我是如何做到的,
build.xml文件
<target name="blah"> ... <jvmarg value="-javaagent:${jar1.path}" /> <jvmarg value="-javaagent:${jar2.path}" /> ... </target>
有一个新项目的目标是支持多个Java代理。 目前仅限于特定的。
代理债券是一个超级代理,它包装和派遣在其他几个代理。 这样,您只需在一个configuration数据集(包含多个单独的部分)中在JVM中安装单个代理。
有关详细信息,请参阅https://github.com/fabric8io/agent-bond/blob/master/README.md