2011-07-08 38 views
2

我想创建一个只能从本地主机访问的JMX代理。只能在本地访问的JMX客户端

  • 请告诉我该怎么做。
  • 还可以在连接到该JMX代理的同一台机器上使用简单的JMX客户端。
  • 如果我们可以通过指定一个明确的端口而逃脱,那将会很有帮助。

回答

2

您可能会发现this有帮助。它使用attach API用于Oracle的JVM连接到正在运行的Java进程,并使其启动仅本地的JMX代理。您可以像往常一样设置您想要公开的任何MBean。我觉得这段代码与JConsole用来连接本地JVM进程的过程相似。您可能还想调查Jmxterm的源代码,该代码利用JConsole连接到本地JVM进程。

+2

有关使用附加API的一个建议是,在封面下,它基本上会创建一个javax.management.remote.rmi.RMIConnectorServer,然后它将使用它来为您提供JMXConnection和MBeanServerConnection。无论该RMIConnectorServer是否可从其他主机访问,都取决于变量的主机(他)。根据我的经验,Windows是,* nix no。 – Nicholas