`
hdmagang
  • 浏览: 15051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JBossTools实践系列:标准JMX MBean服务开发入门

阅读更多

转载自JBossWeek.com [http://www.jbossweek.com]

(一) 环境准备

应用服务器: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”窗口中输入:

Packagedemo

MBean NameHelloWorld

选择“下一步”继续;

4、 在出现的“New MBean Class”窗口中输入:

Packagedemo

MBean NameHelloWorld

同时选择“create –service.xml file”选项,选择“下一步”继续;

5、 选择“META-INF”目录,将生成的“Hello-service.xml”文件重构为“jboss-service.xml”;

6、 Hello MBean项目的项目结构如下图所示:

clip_image002

(三) 编写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/”的filesetjboss-service.xml文件加入到Hello.sar包。

最终的“Project archives”视图如下图所示:

clip_image004

 

最终的Hello.sar包结构如下图所示:

clip_image006

(五) 部署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检测应用程序是一种利用Java管理扩展(JMX)技术来增强应用程序监控和管理能力的方法。JMX是一种标准的框架,它允许开发者创建和注册受管bean(MBean),这些MBean提供了对应用程序内部状态的...

    jmx 入门文档,附有开发实例文档

    Java Management Extensions(JMX)是Java平台上的一个标准,用于创建和管理应用程序的管理资源,如服务、设备、系统组件等。JMX 提供了一种框架和API来监控和管理运行时的应用程序,使得开发者可以轻松地添加管理...

    Boundary-Generic-JMX-Collector:通用 JMX MBean 收集器,使用 Boundary API 创建指标并发布它们

    通用 JMX MBean 收集器,它使用 Boundary API 创建指标并发布它们。 这个 java 应用程序读取一个配置文件,其名称作为参数传递。 配置文件是一个 JSON 结构,它定义了 JMX 连接、要收集的 MBean 属性以及边界度量...

    JMX官方文档 - 概览,入门,规范

    1. JMX API:包括MBean服务器接口、MBean接口、MBean信息类和连接器接口等,供开发人员创建和管理MBeans。 2. jconsole:JDK自带的图形化管理工具,通过JMX连接到目标应用程序,展示性能数据和MBean信息。 3. jinfo...

    jboss远程调用JMX

    RMI URL通常类似于`service:jmx:rmi:///jndi/rmi://hostname:port/jmxrmi`,其中`hostname`和`port`是JBoss服务器的地址和端口。 为了实现远程调用JMX,我们需要以下步骤: 1. **配置JBoss**:在JBoss的配置文件...

    jmx_tomcat_jboss

    总之,“jmx_tomcat_jboss”是关于利用JMX技术来管理和监控Tomcat和JBoss服务器,提高应用性能和稳定性的重要实践。理解并掌握JMX在这些服务器中的应用,对于提升Java应用的运维效率和质量至关重要。

    jmx mbean学习 jmxtools下载

    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

    jmx入门

    Java Management Extensions(JMX)是Java平台上的一个标准管理框架,用于监控和管理应用程序、服务、设备以及其他系统资源。JMX允许开发人员创建可管理的组件,并将它们集成到更复杂的管理系统中。在这个入门指南中...

    亲测可用 com.sun.jmx. jmxri-1.2.1.jar

    Description Resource Path Location Type Missing artifact com.sun.jmx:jmxri:jar:1.2.1 pom.xml /eshop-storm line 2 Maven Dependency Problem

    jmx 实例 rmi mbean

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备等资源。它提供了一种灵活的框架,允许开发者创建、注册和管理名为Managed Beans(MBeans)的对象,这些...

    JDK18-java-management-extensions-guide.pdf

    1. 复杂性:JMX架构和API相对复杂,需要一定的学习和实践经验。 2. 性能 overhead:JMX可能会引入一定的性能 overhead,影响应用程序的性能。 Java Management Extensions Guide提供了JMX的详细信息和使用指南,是...

    JMX实用例子详解(包括各种Mbean)

    Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员创建、注册和管理名为MBeans(Managed Beans)的对象,这些对象代表了系统、应用程序或服务的可管理资源。通过JMX,我们可以远程...

    JMX规范介绍

    Java Management Extensions (JMX) 是一个Java平台的标准,它提供了管理和监控Java应用程序和服务的能力。JMX规范定义了一种架构和一组API,使得开发者能够轻松地创建可管理的组件,并允许系统管理员通过统一的方式...

    JMX开发入门

    Java Management Extensions(JMX)是一种Java平台上的框架,用于管理和监控应用程序、系统和服务。它提供了一种标准的方式来创建可管理的组件,称为MBeans(Managed Beans),这些组件可以暴露其状态和行为,允许...

    jmxri-1.2.1.jar+jmxtools-1.2.1.jar

    Java Management Extensions (JMX) 是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。`jmxri-1.2.1.jar` 和 `jmxtools-1.2.1.jar` 是与JMX相关的两个核心库文件,它们在Java应用程序中扮演...

    JMX以RMI方式连接的场景示例

    JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将介绍如何使用RMI(Remote Method Invocation)连接方式来实现JMX框架的各层级的连接。 MBean是JMX框架的...

    Java分布式应用学习笔记09JMX-MBean的介绍

    ### Java分布式应用学习笔记09JMX-MBean的介绍 #### MBean概念及作用 MBean,即Managed Bean,是在JMX(Java Management Extensions)框架中用于管理资源的一种特殊Java对象。通过MBean,可以方便地对应用程序进行...

    JBoss JMX实现架构

    JBoss JMX(Java Management Extensions)实现架构是JBoss应用服务器中用于管理和服务的核心组件。JMX提供了一种标准的方式来管理和监控分布式系统,包括应用程序、设备和网络资源。JBoss 3.x版本在JMX实现上进行了...

    jmx一步步来 jmx快速上手指南

    通过上述示例可以看出,JMX通过定义MBean接口和其实现类的方式,使得我们能够通过标准的方法来管理和监控应用程序。这种方式不仅提高了应用程序的可管理性,同时也降低了管理操作的复杂度。 #### 六、总结 JMX作为...

Global site tag (gtag.js) - Google Analytics