NetBeans IDE 中的 JMX 监视入门指南
This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines. |
NetBeans JMX 模块将 JMX 技术集成到 NetBeans IDE 中的工作流。此模块允许您快速开发管理应用程序,向现有应用程序添加管理,开发管理器应用程序,以及监视虚拟机的状态。
本文档已针对 JMX 向导模块版本 3.0、NetBeans IDE 6.5 及更新版本进行更新,且运行于 JDK 6 或 JDK 7 之上。可以从更新中心下载 JMX 模块。
*注:*此文档简短快速地介绍了 NetBeans IDE 的 JMX 模块。有关更详细信息,请完成 JMX 模块教程将 JMX 分析添加到 Java 应用程序中。
本入门文档概述了 JMX 模块功能:

-
用于创建 JMX MBean 和管理器的向导。
-
通过添加属性和操作,实现
MBeanRegistration
接口或实现NotificationEmitter
接口更新现有 MBean 的操作。 -
根据现有 Java 类的 MBean 生成。
-
用于将 MBean 注册到 Java 平台 MBean 服务器的操作。
-
启动 Java 平台管理控制台 (JConsole) 的功能。
-
使用 JConsole 运行和调试应用程序的功能。
-
向您演示如何将 JMX 功能添加到应用程序的基于 Anagram Game 的样例应用程序。
-
用于生成管理属性文件以允许您启动可管理的安全 JVM 的向导。
-
联机帮助。
-
可从 netbeans.org 站点访问的教程。
先决条件
本教程假定您具备以下技术的一些基本知识或编程经验。
-
JMX 技术:JMX 联机文档
-
Java 技术:Java SE 技术概览
-
NetBeans IDE
您还将受益于在 Java 平台的监视和管理方面的一些知识
本教程所需要的软件
在学习本教程之前,您需要在计算机上安装以下软件:
软件或资源 | 要求的版本 |
---|---|
7.2、7.3、7.4、8.0、Java 包 |
|
版本 7 或 8 |
|
JMX 插件 |
可从 NetBeans 更新中心获得 |
JConsole 插件 |
可从 NetBeans 更新中心获得 |
要安装 JMX 和 JConsole 插件,请选择“工具”>“插件”,然后从 NetBeans 更新中心下载相应模块。
访问 JMX 向导
在安装 JMX 插件并打开您的项目之后,可以通过选择 "File"(文件)> "New File"(新建文件)(Ctrl-N 组合键)并选择 "JMX" 类别来访问 JMX 向导。然后可以从以下项中选择:
-
管理配置文件。用于存储 JMX 管理(特别是远程连接和安全)的配置的标准 Java 属性文件。
-
几种类型的 JMX MBean。MBean 可以表示一个设备、一个应用程序或需要托管的任何资源。MBean 公开管理界面:一组可读和/或可写属性和一组可调用操作以及自我描述。在 MBean 实例的整个生命周期内,该管理界面都不会更改。MBean 还会在发生某些定义的事件时发出通知。JMX MBean 需要注册到 MBean 服务器。
-
JMX 管理器。JMX 管理器是连接到远程 JMX MBean 服务器的任何应用程序。

更新 MBean
可以使用 JMX 上下文菜单操作(将弹出一个对话框)来向 MBean 添加属性和操作。也可以让 MBean 实现 NotificationEmitter
接口。
要更新 MBean,请在 "Project"(项目)树中选择 MBean 类 Java 文件并通过右键单击相应节点来访问 JMX 弹出菜单,或者在打开了 MBean 类 Java 文件的编辑器窗口中简单右键单击并访问 JMX 弹出菜单。
在将 JMX 分析添加到 Java 应用程序中教程的练习 3 中演示了这些操作。
注册 MBean
要远程连接到 MBean 并管理您的应用程序,需要将 MBean 注册到 MBean 服务器中。
MBean 服务器是 JMX 技术的主要的核心部分。该服务器保持引用注册到其中的所有 MBean,可以发送有关新 MBean 注册或删除操作的通知,并且可以接受远程连接以公开其注册的 MBean 的属性和操作。如果您不熟悉 MBean 服务器角色,请阅读 javax.management.MBeanServer
API 文档。
从 JDK 5 开始,Java 平台提供一个称为“平台 MBean 服务器”的默认 MBean 服务器。使用该服务器,您可以监视 JVM,也可以将您自己的 MBean 注册到其中。有关 Java 平台 MBean 服务器的详细信息,请阅读 +java.lang.management.ManagementFactory +
API 文档。
根据逻辑,确定希望将 MBean 注册到的应用程序代码位置,通常是在主类的初始化阶段。在编辑器窗口中右键单击希望生成 MBean 注册代码的位置,选择 "JMX" 子菜单,然后选择 "Generate MBean Registration…"(生成 MBean 注册…)操作。
在将 JMX 分析添加到 Java 应用程序中教程的练习 5 中演示了此操作。
实现并执行可管理的应用程序
JConsole 是 JMX 兼容的图形工具,用于监视 Java 虚拟机。JConsole 可以监视本地和远程 JVM,并且可以用于监视和管理 JMX 应用程序。
通常,实现并执行可管理的应用程序的工作流如下所示:
-
生成 MBean。
-
向 MBean 添加实现
-
生成 MBean 的注册代码。
-
使用 JConsole 运行或调试项目。
安装 JMX 和 JConsole 插件后,您将会看到工具栏上添加了以下按钮。也可以在主菜单中的 "Debug"(调试)菜单项下访问这些操作。
按钮 | 描述 |
---|---|
通过监视和管理运行主项目 |
|
通过监视和管理调试主项目 |
|
启动 JConsole 管理控制台 |
*注:*JConsole 是 Java 平台的一部分,可以独立于 IDE 进行使用。有关详细信息,请参阅以下资源。
运行样例应用程序
JMX 模块包含其中内置了 JMX 监视的样例应用程序。
-
选择 "File"(文件)> "New Project"(新建项目)。
-
在 "Samples"(样例)中,选择 "JMX" 类别。
-
选择 "Anagram Game Managed with JMX"(使用 JMX 管理的 Anagram Game)项目。

-
单击 "Next"(下一步)。无需更改提供的默认项目名称或位置值。确认 "Set as Main Project"(设置为主项目)复选框处于选中状态。单击 "Finish"(完成)。
*注:*如果您以前未安装 JUnit 插件,则 IDE 可能会提示您安装 JUnit 库。您可以单击 "Resolve Resource Problems"(解决资源问题)对话框中的 "Resolve"(解决)启动安装程序来安装 JUnit 插件。或者,您也可以在插件管理器中安装 JUnit 插件。
-
创建项目并将其设置为主项目之后,通过单击 "Run Main Project with Monitoring and Management"(通过监视和管理运行主项目)JConsole 按钮使用 JConsole 运行该项目。
*注:*当 Java 监视和管理控制台尝试连接到 Anagram Game 进程时,您可能会在此控制台中看到 "Connection Failed"(连接失败)警告。对于本教程,当系统提示您授权连接时,您可以单击 "Insecure"(不安全)。
单击此按钮将启动并显示 Anagram Game:

也将显示 "JConsole" 窗口。
-
在 "JConsole" 窗口中,选择 "MBean" 标签,然后在左侧的树布局中向下打开
anagrams.toy.com
下的所有节点,如下所示。

-
选择 "Notifications"(通知)节点,然后单击底部的 "Subscribe"(订阅)按钮,这样在 Anagram 每次得到解决时 JConsole 都将会收到新通知。
-
现在转到 "Anagrams Game" 窗口,然后解决前三个或前四个 Anagram(答案位于 WordLibrary 类中,而此处它们是:abstraction、ambiguous、arithmetic、backslash…)
-
返回 JConsole,注意它收到了四个通知。
-
单击 "Attributes"(属性)节点,可以看到更新了属性值:

另请参见
此文档简短快速地介绍了 NetBeans IDE 的 JMX 模块。有关更详细信息,请参见以下 JMX 模块教程: