`
LuisFigo
  • 浏览: 38289 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[探究JMX] 2、JMX注册例子

阅读更多

一、简介

      JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。主要用于管理和监控程序,本节以一个简单的例子理解怎样管理MBean。

 

二、准备工作

      JMX有一套标准,SUN公司JDK提供了实现该套标准的JMX接口。基于JDK就可以开发出JMX代码了。

      1、 安装JDK1.5

      2、 代码中用到了HtmlAdaptorServer接口,所以需要引入jmxtools.jar包。

      3、 开发环境:Eclipse + JDk1.5

 

三、代码实例

 package com.muyu.jmx;

public interface ConfigMBean { 
    
    public String getConfigLocation();
    
    public void printConfigLocation();
    
    public void printConfigLocation(String configLocation);
    
    public void setConfigLocation(String i_ConfigLocation);
}

 

package com.muyu.jmx;

public class Config implements ConfigMBean {

    private String configLocation;
    
    public String getConfigLocation() {
        return configLocation;
    }

    public void printConfigLocation() {
        System.out.println(configLocation);
    }

    public void printConfigLocation(String i_ConfigLocation) {
        System.out.println(i_ConfigLocation);
    }

    public void setConfigLocation(String i_ConfigLocation) {
        this.configLocation = i_ConfigLocation;
    }

}

 

package com.muyu.jmx;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

import com.sun.jdmk.comm.HtmlAdaptorServer;

/**
 * this class is used for test.
 * 
 * @author LuisFigo       
 */

public class Server {

    public static void main(String[] args) {
    
        MBeanServer server = MBeanServerFactory.createMBeanServer();
        ObjectName configName;
        try {
            configName = new ObjectName("LuisFigo:name=config");
            Config config = new Config();
            server.registerMBean(config, configName);
            ObjectName adapterName = new ObjectName("ConfigAgent:name=htmladapter,port=8000"); 
            HtmlAdaptorServer adapter = new HtmlAdaptorServer();        
            adapter.setPort(8000);
            server.registerMBean(adapter, adapterName);
            adapter.start();
            System.out.println("adapter start ... ");
        } catch (Exception e) {
            e.printStackTrace();
        }  
        
    }
   
}

 

说明

      先创建一个MBean服务容器,将configMBean和HtmlAdaptorServer注册进去,HtmlAdaptorServer其实也是一个代理,默认端口号为8082,我们在这设置为8000, Server运行过后,在浏览器里输入http://localhost:8000即可看到图1界面。点击LuisFigo域下的name=config进入图2,在最下面的文本框里输入helloworld,点击printConfigLocation进入图3显示执行成功的信息。观察Eclipse控制台里出现了helloworld,这说明已经调用了服务端config的相应方法。

 

四、 总结

      从上面的例子中我们可以知道,通过web网页形式可以访问和控制服务端程序中的MBean了。现在如果把系统中的一些参数放在MBean里,我们就可以动态的修改或访问它。

 

 

  • 大小: 50.6 KB
  • 大小: 109.2 KB
  • 大小: 40 KB
0
0
分享到:
评论

相关推荐

    最简单JMX例子

    对于初学者,这个"最简单JMX例子"将展示如何创建一个简单的MBean,如何在Eclipse这样的集成开发环境中配置和运行,以及如何通过标准的JMX客户端工具进行交互。通过学习这个例子,你可以理解JMX的基本结构和用法,为...

    JMX小例子以及介绍

    本篇文章将深入探讨JMX的核心概念、功能及如何通过一个小例子来理解和使用JMX。 **1. JMX核心概念** - **MBean(Managed Beans)**: MBean是JMX中最基本的管理单元,它是Java对象,代表可管理的资源或服务。MBean...

    jmx例子一则

    这些例子可能包括MBean的实现、注册、查询以及使用JMX客户端进行操作的代码片段。 总的来说,JMX是一个强大的工具,它让开发者能够轻松地对Java应用进行监控和管理,通过暴露管理接口,使得运维人员可以在运行时...

    一个jmx的小例子

    2. **MBean接口和实现**:JMX中的管理对象(MBeans)需要通过接口定义其公开的操作和属性。每个MBean实现这个接口,并提供实际的业务逻辑。 3. **JMX连接器**:为了使外部工具能够连接到JMX服务器,我们需要配置一...

    spring框架下jmx入门例子

    这里的`jmx:managed`标签表示将`MyManagedBean`注册为JMX MBean。如果`MyManagedBean`类没有实现MBean接口,Spring会自动使用一个默认的MBean代理。 接下来,为了使这些MBeans可以通过HTTP协议访问,你需要配置一个...

    JMX实战 JMX开发

    书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。

    JMX需要的JAR和文档和可运行的例子

    你可以通过解压这个文件,阅读代码并运行例子来更好地理解JMX的工作原理。例如,你可能会看到如何创建和注册MBeans,以及如何使用MBeanServer进行操作。 `JMX学习总结.docx`和`JMX技术.docx`可能是两份文档,详细...

    jmx三种访问方式

    2. **自定义JMX客户端**:开发者可以编写自己的JMX客户端,利用JMX的RMI支持建立连接。客户端需要实现JMX的连接逻辑,包括认证、查找MBeans并执行操作。 3. **安全性**:RMI连接通常需要安全控制,例如SSL加密和...

    jboss远程调用JMX

    2. **客户端设置**:在客户端,我们需要导入必要的JMX和RMI库,然后创建一个`MBeanServerConnection`实例。这通常通过`JMXConnectorFactory`完成,它会使用提供的JMX连接URL建立连接。 3. **连接到服务器**:使用`...

    jmx开发例子,包括与spring结合例子

    这个压缩包中的例子很可能是创建了一个简单的Spring应用,并且配置了JMX支持,展示如何将Spring的bean暴露为MBeans进行管理和监控。通过研究这些示例,新人可以更好地理解JMX和Spring如何协同工作,提升他们的Java...

    JMX一步一步来,快速学会开发JMX应用

    JMX的主要作用是让开发者能够创建和注册可管理的对象,即MBeans,它们代表了应用程序中的各种资源或服务。MBeans提供了暴露其状态和操作的方法,使得管理者可以通过JMX API进行访问和控制。例如,通过JMX,你可以...

    jmx监控activeMQ监控

    jmx监控ActiveMQ监控 jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产...

    jmx监控weblogic,tomcat,websphere源码

    2. **MBean Server**: 所有MBeans都在MBean Server中注册,这个服务器是JMX架构的中心,负责创建、注册和管理MBeans。 3. **Management Clients**: 这些是使用JMX API与MBean Server交互的应用程序。在本项目中,...

    jmx-1_2_1-ri.zip jmx_remote-1_0_1_03-ri.zip jmx-1_1-mr-spec.zip

    - **MBean Server**:MBean Server是JMX的核心组件,负责注册、管理MBean以及处理来自管理工具的请求。 - **MBean Server Connector**:MBean Server Connector允许外部应用程序通过特定的协议(如RMI、HTTP、JMXMP...

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

    - **对于JDK 1.3、1.4**:需要手动下载SUN提供的JMX实现,包括`jmx-1_2_1-ri.zip`和`jmx_remote-1_0_1_03-ri.zip`两个ZIP文件,并将解压后得到的`jmxri.jar`、`jmxtools.jar`、`jmxremote.jar`、`jmxremote_optional...

    jmx相关jar包

    - **注册MBeans**:MBeans需要注册到MBeanServer,这是JMX的核心组件,负责管理和查找MBeans,处理通知,并提供与MBeans交互的接口。 - **管理关系**:通过MBean Server,你可以定义MBean之间的关系,如依赖性或...

    jmx_examples.rar_Java 8_jmx_jmx examples_jmx main_jmx_examples

    2. **Java 8中的JMX改进**: - Java 8对JMX支持保持稳定,但有一些小的改进,如更好的类型安全性和Lambda表达式的集成,使得创建回调函数更加便捷。 3. **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

    jmxri-1.2.1.jar+jmxtools-1.2.1.jar

    开发者可以使用JMX API来注册和操作MBeans,从而实现对应用程序的动态管理和监控。 为了更好地理解和利用JMX,你需要了解以下概念: 1. MBean (Managed Bean):MBean是JMX中的基本管理单元,它代表了要管理的对象...

Global site tag (gtag.js) - Google Analytics