通过 JConsole 公开用于远程 管理 的资源
如果使用现成的远程 管理 代理以及现有的监视和 管理 工具(例如 JConsole),则使用 JMX API 公开 Java 应用程序以进行远程 管理 非常简单。
要公开您的应用程序以进行远程 管理,您需要使用正确的属性启动它。此示例显示如何公开Main JMX 代理以进行远程 管理。
Security consideration:
为了简单起见,在此示例中禁用了身份验证和加密安全机制。但是,在实际环境中实现远程 管理 时,应实现这些安全机制。 What Next?提供了指向其他 JMX 技术文档的指针,这些文档显示了如何激活安全性。
此示例需要 Java SE 平台的版本 6.要远程监视Main
JMX 代理,请按照下列步骤操作:
-
如果尚未这样做,请将jmx_examples.zip保存到
work_dir
目录中。 -
通过在终端窗口中使用以下命令来解压缩 samples 类包。
unzip jmx_examples.zip
- 从
work_dir
目录中编译示例 Java 类。
javac com/example/*.java
- 启动
Main
应用程序,指定为远程 管理 公开Main
的属性。 (对于 Windows,使用克拉(^
)而不是反斜杠(\
)将 Long 命令分成多行):
java -Dcom.sun.management.jmxremote.port=9999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
com.example.Main
生成确认Main
正在 await 发生的事情。
- 在 不同机器 上的另一个终端窗口中启动 JConsole:
jconsole
将显示“新建连接”对话框,其中提供了可以在本地连接的正在运行的 JMX 代理的列表。
- 选择“远程进程”,然后在“远程进程”字段中键入以下内容:
hostname:9999
在此地址中,hostname
是运行Main
应用程序的远程计算机的名称,而 9999 是将连接即用型 JMX 连接器的端口号。
- Click Connect.
显示运行Main
的 Java 虚拟机(Java VM)当前活动的摘要。
- 单击“ MBeans”选项卡。
该面板显示了当前在远程 MBean 服务器中注册的所有 MBean。
- 在左侧框架中,展开 MBean 树中的
com.example
节点。
您将看到由Main
创建和注册的示例 MBean Hello
。如果单击Hello
,即使 MBean 树在另一台计算机上运行,也会在 MBean 树中看到其关联的“属性和操作”节点。
- 要关闭 JConsole,请选择连接->退出。