在 Java 9 中以编程方式连接到 JMX 代理

Connecting to the JMX Agent Programmatically in Java 9

我需要使用 Attach API(必要时在运行时加载代理)以编程方式连接到 JMX 代理,如示例 here 所示。这在 Java 8 中运行良好,但在 Java 9 中不起作用,因为 lib 文件夹中不再有管理-agent.jar:

String agent = vm.getSystemProperties().getProperty("java.home") +
   File.separator + "lib" + File.separator + "management-agent.jar";

请问在 Java 9 中正确的方法是什么?

提前致谢, 瓦迪姆

是的,管理-agent.jar 已被删除(参见 release note)。如果您希望启动管理代理,请查看 com.sun.tools.attach.VirtualMachine.

中的新 startManagementAgent 和 startLocalManagementAgent 方法

JDK 9 个文档中的 "Setting Up Monitoring and Management Programmatically" 部分需要更新。