(一) 环境准备
应用服务器:JBoss AS 4.2.2 GA
开发工具:JBossTools 2.0.0 GA
(二) 创建MBean项目
1、 新建一个普通的java项目,名称为Hello;
2、 选择“New->Other->JBossTools->MBean Components->MBean stubs”;
3、 在出现“New MBean Wizard”的“New MBean Interface”窗口中输入:
Package:demo
MBean Name:HelloWorld
选择“下一步”继续;
4、 在出现的“New MBean Class”窗口中输入:
Package:demo
MBean Name:HelloWorld
同时选择“create –service.xml file”选项,选择“下一步”继续;
5、 选择“META-INF”目录,将生成的“Hello-service.xml”文件重构为“jboss-service.xml”;
6、 Hello MBean项目的项目结构如下图所示:
(三) 编写MBean服务
这里编写的MBean服务是一个非常简单的输出“Hello”消息的MBean,
1、 接口代码如下:
package demo;
public interface HelloMBean {
public void start() throws Exception;
public void stop() throws Exception;
public void setMessage(String message);
public String getMessage();
public void sayHello();
}
2、 实现代码如下:
package demo;
public class Hello implements HelloMBean {
private String message = “Hello World”;
public Hello() {
}
public String getMessage() {
return message;
}
public void sayHello() {
System.out.println(message);
}
public void setMessage(String message) {
this.message = message;
}
public void start() throws Exception {
System.out.println(“Hello MBean is starting…”);
}
public void stop() throws Exception {
System.out.println(“Hello MBean is stoping…”);
}
}
3、 修改jboss-service.xml文件如下:
<?xml version=“1.0″ encoding=“UTF-8″?>
<server>
<mbean code=“demo.Hello” name=“jbossweek.demo:key=Hello”>
<attribute name=“Message”>Hello World!</attribute>
</mbean>
</server>
(四) MBean服务打包
1、 在JBossTools中选择“Window->Show View->Other”,在出现的窗口中选择“JBossTools->Project archives”,就会出现“Project archives”视图;
2、 在“Project archives”视图中选择“New Archive->JAR”,在出现的窗口中将“Archieve Name”修改为Hello.sar,同时选择“Exploded archive resulting in a folder (no compression)”;
3、 在 “Project archives”视图中选择刚创建的“Hello.sar”,右键单击在出现的上下文菜单中选择“New Fileset”,在出现的窗口中单击“Workspace…”按钮,在出现的窗口选择“Hello”项目的“bin”目录,在“includes”中输入“demo/”,选择“Finish”将MBean类加入到Hello.sar包。
4、 同理增加“META-INF/”的fileset将jboss-service.xml文件加入到Hello.sar包。
最终的“Project archives”视图如下图所示:
最终的Hello.sar包结构如下图所示:
(五) 部署Hello MBean服务
1、 在JBossTools中选择“Window->Show View->Other”,在出现的窗口中选择“Server->JBoss Server View”,就会出现JBoss Server视图;
2、 选择配置一个配置好的JBoss Server,右键单击,在出现的上下文菜单中选择“Add or Remove Projects…”,在出现的窗口中将Hello.sar添加到“Configured Projects…”列表中;
(六) 验证
1、 在JBossTools中的JBoss Server视图中单击“启动”图标启动JBoss服务器,在启动过程中会出现如下日志:
[STDOUT] Hello MBean is starting…
2、 打开浏览器访问地址:http://localhost:8080/jmx-console,定位jbossweek.demo:key=Hello,单击进入
3、 修改Message属性为“Hello JBossWeek!”,单击“Apply Changes”;再单击sayHello方法就会在JBossTools的控制台中看到如下日志:
INFO [STDOUT] Hello JBossWeek!
4、 在JBossTools中的JBoss Server视图中单击“关闭”图标关闭JBoss服务器,在关闭过程中会出现如下日志:
[STDOUT] Hello MBean is stoping…
到此,标准的JMX MBean服务就开发完成了!
相关推荐
Java理论与实践:用JMX检测应用程序是一种利用Java管理扩展(JMX)技术来增强应用程序监控和管理能力的方法。JMX是一种标准的框架,它允许开发者创建和注册受管bean(MBean),这些MBean提供了对应用程序内部状态的...
Java Management Extensions(JMX)是Java平台上的一个标准,用于创建和管理应用程序的管理资源,如服务、设备、系统组件等。JMX 提供了一种框架和API来监控和管理运行时的应用程序,使得开发者可以轻松地添加管理...
通用 JMX MBean 收集器,它使用 Boundary API 创建指标并发布它们。 这个 java 应用程序读取一个配置文件,其名称作为参数传递。 配置文件是一个 JSON 结构,它定义了 JMX 连接、要收集的 MBean 属性以及边界度量...
1. JMX API:包括MBean服务器接口、MBean接口、MBean信息类和连接器接口等,供开发人员创建和管理MBeans。 2. jconsole:JDK自带的图形化管理工具,通过JMX连接到目标应用程序,展示性能数据和MBean信息。 3. jinfo...
RMI URL通常类似于`service:jmx:rmi:///jndi/rmi://hostname:port/jmxrmi`,其中`hostname`和`port`是JBoss服务器的地址和端口。 为了实现远程调用JMX,我们需要以下步骤: 1. **配置JBoss**:在JBoss的配置文件...
总之,“jmx_tomcat_jboss”是关于利用JMX技术来管理和监控Tomcat和JBoss服务器,提高应用性能和稳定性的重要实践。理解并掌握JMX在这些服务器中的应用,对于提升Java应用的运维效率和质量至关重要。
JMX 1.2.1 Reference Implementation(重点) Include com.sun.jdmk.comm.HtmlAdaptorServer class http://www.sun.com/software/jdmk/ Downloads, sun-jdmk-runtime-5.1-b34.2.zip/SUNWjdmk/5.1/lib/jdmkrt.jar
Java Management Extensions(JMX)是Java平台上的一个标准管理框架,用于监控和管理应用程序、服务、设备以及其他系统资源。JMX允许开发人员创建可管理的组件,并将它们集成到更复杂的管理系统中。在这个入门指南中...
Description Resource Path Location Type Missing artifact com.sun.jmx:jmxri:jar:1.2.1 pom.xml /eshop-storm line 2 Maven Dependency Problem
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备等资源。它提供了一种灵活的框架,允许开发者创建、注册和管理名为Managed Beans(MBeans)的对象,这些...
1. 复杂性:JMX架构和API相对复杂,需要一定的学习和实践经验。 2. 性能 overhead:JMX可能会引入一定的性能 overhead,影响应用程序的性能。 Java Management Extensions Guide提供了JMX的详细信息和使用指南,是...
Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员创建、注册和管理名为MBeans(Managed Beans)的对象,这些对象代表了系统、应用程序或服务的可管理资源。通过JMX,我们可以远程...
Java Management Extensions (JMX) 是一个Java平台的标准,它提供了管理和监控Java应用程序和服务的能力。JMX规范定义了一种架构和一组API,使得开发者能够轻松地创建可管理的组件,并允许系统管理员通过统一的方式...
Java Management Extensions(JMX)是一种Java平台上的框架,用于管理和监控应用程序、系统和服务。它提供了一种标准的方式来创建可管理的组件,称为MBeans(Managed Beans),这些组件可以暴露其状态和行为,允许...
Java Management Extensions (JMX) 是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。`jmxri-1.2.1.jar` 和 `jmxtools-1.2.1.jar` 是与JMX相关的两个核心库文件,它们在Java应用程序中扮演...
JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将介绍如何使用RMI(Remote Method Invocation)连接方式来实现JMX框架的各层级的连接。 MBean是JMX框架的...
### Java分布式应用学习笔记09JMX-MBean的介绍 #### MBean概念及作用 MBean,即Managed Bean,是在JMX(Java Management Extensions)框架中用于管理资源的一种特殊Java对象。通过MBean,可以方便地对应用程序进行...
JBoss JMX(Java Management Extensions)实现架构是JBoss应用服务器中用于管理和服务的核心组件。JMX提供了一种标准的方式来管理和监控分布式系统,包括应用程序、设备和网络资源。JBoss 3.x版本在JMX实现上进行了...
通过上述示例可以看出,JMX通过定义MBean接口和其实现类的方式,使得我们能够通过标准的方法来管理和监控应用程序。这种方式不仅提高了应用程序的可管理性,同时也降低了管理操作的复杂度。 #### 六、总结 JMX作为...