`
VerRan
  • 浏览: 459588 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

JMX入门实例

阅读更多
     上篇的简介大概介绍了JMX的作用和基本类型和实现方法这里作一个实例进行说明!

1.建立MBean
  1. package com.lht.jmx;   
  2.   
  3. /* HelloMBean.java - MBean interface describing the management  
  4. operations and attributes for the Hello World MBean.  In this case  
  5. there are two operations, "sayHello" and "add", and two attributes,  
  6. "Name" and "CacheSize". */  
  7.   
  8. public interface HelloMBean {   
  9.  // operations   
  10.   
  11.  public void sayHello();   
  12.  public int add(int x, int y);   
  13.   
  14.  // attributes   
  15.   
  16.  // a read-only attribute called Name of type String   
  17.  public String getName();   
  18.   
  19.  // a read-write attribute called CacheSize of type int   
  20.  public int getCacheSize();   
  21.  public void setCacheSize(int size);   
  22. }   
  23.   

2.建立实现MBean的类
  1. package com.lht.jmx;   
  2.   
  3. public class Hello implements HelloMBean {   
  4.     public void sayHello() {   
  5.     System.out.println("hello, world");   
  6.     }   
  7.   
  8.     public int add(int x, int y) {   
  9.     return x + y;   
  10.     }   
  11.   
  12.     /* Getter for the Name attribute.  The pattern shown here is  
  13.        frequent: the getter returns a private field representing the  
  14.        attribute value.  In our case, the attribute value never  
  15.        changes, but for other attributes it might change as the  
  16.        application runs.  Consider an attribute representing  
  17.        statistics such as uptime or memory usage, for example.  Being  
  18.        read-only just means that it can't be changed through the  
  19.        management interface.  */  
  20.     public String getName() {   
  21.     return this.name;   
  22.     }   
  23.   
  24.     /* Getter for the CacheSize attribute.  The pattern shown here is  
  25.        frequent: the getter returns a private field representing the  
  26.        attribute value, and the setter changes that field.  */  
  27.     public int getCacheSize() {   
  28.     return this.cacheSize;   
  29.     }   
  30.   
  31.     /* Setter for the CacheSize attribute.  To avoid problems with  
  32.        stale values in multithreaded situations, it is a good idea  
  33.        for setters to be synchronized.  */  
  34.     public synchronized void setCacheSize(int size) {   
  35.     this.cacheSize = size;   
  36.   
  37.     /* In a real application, changing the attribute would  
  38.        typically have effects beyond just modifying the cacheSize  
  39.        field.  For example, resizing the cache might mean  
  40.        discarding entries or allocating new ones.  The logic for  
  41.        these effects would be here.  */  
  42.     System.out.println("Cache size now " + this.cacheSize);   
  43.     }   
  44.   
  45.     private final String name = "Reginald";   
  46.     private int cacheSize = DEFAULT_CACHE_SIZE;   
  47.     private static final int DEFAULT_CACHE_SIZE = 200;   
  48. }   
  49.   

3.客户端代码
  1. package com.lht.jmx;   
  2. import java.lang.management.*;   
  3. import javax.management.*;   
  4.   
  5. import com.sun.jdmk.comm.HtmlAdaptorServer;   
  6.   
  7. public class Main {   
  8.     
  9.     public static void main(String[] args) throws Exception {   
  10.        
  11.          MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();   
  12.          final HtmlAdaptorServer htmlAdaptor = new HtmlAdaptorServer();    
  13.          final ObjectName htmlAdaptorON = new ObjectName("com.example.mbeans:name=HtmlAdaptor");    
  14.          mbs.registerMBean(htmlAdaptor, htmlAdaptorON);    
  15.          htmlAdaptor.setPort(9999);    
  16.             
  17.         System.out.print("Starting the HtmlAdaptor....");    
  18.         htmlAdaptor.start();   
  19.                
  20.     }   
  21. }   


4.运行上面的java代码
控制台信息:Starting the HtmlAdaptor....

5.在浏览器中输入
http://localhost:9999/
这时候你就可以看见一个打开的网页,现在你就可以利用这个网页来进行MBean的管理了!

更详细信息:http://www.itisedu.com/phrase/200604261751455.html
                     http://dev2dev.bea.com.cn/techdoc/20005040805.html

分享到:
评论
6 楼 pls890429 2012-08-30  
谢谢,能够成功!
5 楼 wzz_momo 2010-02-02  
定义的Hello类和接口HelloMBean有什么用呀?!
4 楼 jlcon 2009-05-15  
pdw2009 写道

怎么部署呢........

不需要部署啊,直接运行Main 类的代码。
然后访问地址
http://localhost:9999/
即可
  htmlAdaptor.setPort(9999);
已经设置了、
3 楼 genius 2008-12-19  
怎么管理员,能写具体点吗?我按着你写的做好例子了,不知道怎么管理!
2 楼 VerRan 2008-10-06  
不需要部署啊,直接运行Main 类的代码。
然后访问地址
http://localhost:9999/
即可
  htmlAdaptor.setPort(9999);
已经设置了、
1 楼 pdw2009 2008-09-27  
怎么部署呢........

相关推荐

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

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

    spring框架下jmx入门例子

    本教程将引导你入门Spring框架下的JMX应用。 首先,JMX是一种Java标准,它允许开发者创建可管理的Java组件,并提供了一种统一的方式来管理和监控这些组件。在Spring中,我们可以利用JMX来创建MBeans(Managed Beans...

    jmx入门

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、系统和服务。JMX提供了一种灵活的框架,使得开发者可以创建、注册和管理管理对象(MBeans),这些对象代表了应用程序的各个...

    JMX入门教程 程序管理功能的框架

    JMX(Java Management Extensions)是一种用于在Java应用程序中实现管理和监控功能的框架。它允许开发者创建可管理的组件,即MBeans(Managed Beans),并通过MBeanServer进行交互。JMX提供了一种标准的方式来暴露...

    jmx入门[参照].pdf

    首先,MBean(Managed Bean)是JMX的核心组件之一,它是被管理资源的实例。MBean提供了对外界暴露的一系列方法和属性,使得管理者能够获取资源状态并进行操控。MBean有四种类型:标准MBean、动态MBean、开放MBean和...

    JMX入门教程

    ### JMX入门教程详解 #### 一、JMX概述与价值 JMX,全称Java Management Extensions,是Java平台提供的一套标准化管理框架,旨在帮助开发者在任何Java应用程序中植入管理功能。通过JMX,可以实现对应用程序的监控...

    JMX开发入门

    **MBean** 是JMX的核心,代表一个可管理的资源实例。MBean通过暴露属性和方法,使得外部能够获取资源状态并操纵其行为。MBean分为四种类型: 1. **标准MBean**:基于预定义的Java类接口,通过约定的getter和setter...

    JMX初学资料 初学者入门教程

    本初学者入门教程将帮助你逐步了解并掌握JMX的核心概念和实际应用。 首先,我们要理解JMX的基本组件。在JMX中,有三个主要元素:管理Bean(MBean)、MBean服务器和代理(Agent)。MBean是JMX的核心,它代表了可管理...

    Struts+Hibernate+Spring入门教程及实例.rar

    这个“Struts+Hibernate+Spring入门教程及实例”压缩包提供了学习这三大框架基础知识和实践操作的资源。 **Struts框架**: Struts是一个开源的MVC(Model-View-Controller)框架,主要用于构建基于Java EE的Web应用...

    JMX: Developer's Quick Start Guide

    ### JMX:开发人员快速入门指南 #### 一、概述 **Java Management Extensions (JMX)**,简称为JMX,是Java平台提供的一种标准API,用于管理和监控应用程序资源。通过JMX,Java开发者可以实现对其应用程序组件(或...

    JMXScripter:用于将JMX导出器下载并配置到您的Kafka实例上的脚本

    入门克隆此仓库git clone https://github.com/oslabs-beta/JMXScripter.git 在根文件夹node index.js运行该应用程序重要笔记默认情况下,从您的Kafka实例从JMX导出器导出的信息被写入localhost:7075。 如果要更改此...

    JMX in Action

    - **使用JConsole进行监控**:介绍了如何使用JConsole工具来监控和管理MBean实例,为读者提供了实践操作的机会。 - **环境配置与部署**:给出了配置开发环境和部署JMX应用程序的具体步骤,帮助读者快速上手。 #####...

    学生实例.jmx-JMteter学习报告(一)对用的脚本

    JMteter学习报告(一)对用的脚本,知识部分在写文件参数化时修改了,但不影响使用,适合入门参考。不想下载,私聊可以发给你。

    JBPM用户指南[中文]+实例

    提供的入门实例可能是通过创建一个简单的业务流程,如请假申请流程,演示如何定义流程、启动实例、分配任务、审批流程,并最终完成流程。实例会覆盖从建模到执行的全过程,让学习者能够亲手实践,加深理解。 **6. ...

    Java网络编程从入门到精通

    本教程“Java网络编程从入门到精通”将详细讲解这些概念,并通过实例代码说明如何在实践中应用。通过学习,你将掌握创建网络服务、处理网络请求、优化网络性能等技能,为你的Java开发生涯打下坚实的基础。无论是新手...

    ActiveMQ实践入门指南_ActiveMQ实践入门指南_源码

    **ActiveMQ实践入门指南** Apache ActiveMQ是一款开源的消息中间件,它是Java消息服务(JMS)的实现...阅读提供的"ActiveMQ实践入门指南.pdf"文件,将为你提供更详细的步骤和实例,助你进一步提升ActiveMQ的应用技能。

    WebLogic9.0入门

    本教程将带你深入理解WebLogic 9.0的基础知识,让你能够快速入门并熟练掌握其核心功能。 一、WebLogic Server简介 WebLogic Server是WebLogic平台的核心组件,它提供了运行Java应用程序和服务的环境。在WebLogic ...

    HETF-ActiveMQ入门手册.zip

    10. **JMX(Java Management Extensions)**:通过JMX,用户可以远程监控和管理ActiveMQ实例,包括查看和修改配置、创建和删除队列等。 在“HETF-ActiveMQ入门手册.doc”中,读者可能会找到如何安装和配置ActiveMQ...

    WebSphere快速入门

    WebSphere提供了丰富的监控工具,如系统日志、性能仪表板,以及JMX(Java Management Extensions)接口,可以帮助我们分析应用性能,定位问题,并进行相应的调整。 最后,WebSphere支持多种集成技术,例如WS-...

    JBOSS使用指南

    一.JBOSS入门 1.下载和安装JBoss 2.JBoss的目录结构 3.启动服务器 4.JMX控制台 5.停止服务器 6.JBoss中的部署 二.JBOSS的配置 1. JBoss日志设置 2. web 服务的端口号的修改 3. JBoss 的安全设置 3.1 jmx-console ...

Global site tag (gtag.js) - Google Analytics