Java 是否存在用于本地(非TCP)连接的JMX服务URL?

Java 是否存在用于本地(非TCP)连接的JMX服务URL?,java,jmx,Java,Jmx,我试图使用collectd连接到同一台机器上运行的JVM进程。通过ServiceURL配置,如果JVM启用了远程JMX访问,那么ServiceURL就很好了。但是,是否可以在不启用远程JMX访问的情况下执行此操作 说明(自Java 6以来),即使不是以-Dcom.sun.management.jmxremote启动的JVM也仍然通过“在/tmp/hsperfdata\uuu[user]中找到的内存映射文件”公开JMX访问。这就是JConsole访问的工作原理。但是我可以使用这个连接方法吗?有没有

我试图使用collectd连接到同一台机器上运行的JVM进程。通过ServiceURL配置,如果JVM启用了远程JMX访问,那么ServiceURL就很好了。但是,是否可以在不启用远程JMX访问的情况下执行此操作

说明(自Java 6以来),即使不是以
-Dcom.sun.management.jmxremote
启动的JVM也仍然通过“在
/tmp/hsperfdata\uuu[user]
中找到的内存映射文件”公开JMX访问。这就是JConsole访问的工作原理。但是我可以使用这个连接方法吗?有没有像“本地”JMX服务URL这样的东西?或者我必须启用RMI注册表端口(
-Dcom.sun.management.jmxremote.port=[rmiregistryport]
)才能使其正常工作吗?

看看我的GitHub。它提供了JMX远程处理实现,以透明地连接到同一主机上的vm MBeanServer和JVM中

示例:

  • 连接到vm MBeanServer中的默认服务器:服务:jmx:local://
  • 使用域:服务:jmx:local:///jboss
  • 通过pid:服务:jmx:attach://23474
  • 通过显示名称regex:连接到本地JVM服务:jmx:attach:///[GroovyStarter.*]