如何从易于控制和监视的JVM生成JVM?

Woj*_* B. 5 java jvm

我想从Java类跨越一个新的JVM进程.

我可以使用,Runtime.getRuntime().exec(...)但这是一个非常低级别的api.

我正在寻找能够Process为我提供更多便利的东西的东西:

MonitoredJavaProcess javaProcess = new MonitoredJavaProcess(MyMainClass.class, "-Xmx1g");
javaProcess.getGcLogStream();
javaProcess.getHeapSizeObserver();
// ...
javaProcess.waitForShutdown();
Run Code Online (Sandbox Code Playgroud)

关于我想要做的事情的一点上下文:我正在运行JUnit一个测试套件taht启动一个嵌入式Jetty服务器并对它运行一些测试.这意味着测试的Jetty服务器线程和junit测试线程在同一个JVM中运行.我需要在单独的JVM上运行它们.我可以使用ant或maven或starup jetty外部的任何东西,然后针对它运行测试套件,但对我的简单场景来说听起来有点过分.

And*_*rup 3

也许您的方法不正确。也许您应该考虑使用JMX来监视 JVM?

干杯,