一、简介
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
分享到:
相关推荐
对于初学者,这个"最简单JMX例子"将展示如何创建一个简单的MBean,如何在Eclipse这样的集成开发环境中配置和运行,以及如何通过标准的JMX客户端工具进行交互。通过学习这个例子,你可以理解JMX的基本结构和用法,为...
本篇文章将深入探讨JMX的核心概念、功能及如何通过一个小例子来理解和使用JMX。 **1. JMX核心概念** - **MBean(Managed Beans)**: MBean是JMX中最基本的管理单元,它是Java对象,代表可管理的资源或服务。MBean...
这些例子可能包括MBean的实现、注册、查询以及使用JMX客户端进行操作的代码片段。 总的来说,JMX是一个强大的工具,它让开发者能够轻松地对Java应用进行监控和管理,通过暴露管理接口,使得运维人员可以在运行时...
2. **MBean接口和实现**:JMX中的管理对象(MBeans)需要通过接口定义其公开的操作和属性。每个MBean实现这个接口,并提供实际的业务逻辑。 3. **JMX连接器**:为了使外部工具能够连接到JMX服务器,我们需要配置一...
这里的`jmx:managed`标签表示将`MyManagedBean`注册为JMX MBean。如果`MyManagedBean`类没有实现MBean接口,Spring会自动使用一个默认的MBean代理。 接下来,为了使这些MBeans可以通过HTTP协议访问,你需要配置一个...
书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。
你可以通过解压这个文件,阅读代码并运行例子来更好地理解JMX的工作原理。例如,你可能会看到如何创建和注册MBeans,以及如何使用MBeanServer进行操作。 `JMX学习总结.docx`和`JMX技术.docx`可能是两份文档,详细...
2. **自定义JMX客户端**:开发者可以编写自己的JMX客户端,利用JMX的RMI支持建立连接。客户端需要实现JMX的连接逻辑,包括认证、查找MBeans并执行操作。 3. **安全性**:RMI连接通常需要安全控制,例如SSL加密和...
2. **客户端设置**:在客户端,我们需要导入必要的JMX和RMI库,然后创建一个`MBeanServerConnection`实例。这通常通过`JMXConnectorFactory`完成,它会使用提供的JMX连接URL建立连接。 3. **连接到服务器**:使用`...
这个压缩包中的例子很可能是创建了一个简单的Spring应用,并且配置了JMX支持,展示如何将Spring的bean暴露为MBeans进行管理和监控。通过研究这些示例,新人可以更好地理解JMX和Spring如何协同工作,提升他们的Java...
JMX的主要作用是让开发者能够创建和注册可管理的对象,即MBeans,它们代表了应用程序中的各种资源或服务。MBeans提供了暴露其状态和操作的方法,使得管理者可以通过JMX API进行访问和控制。例如,通过JMX,你可以...
jmx监控ActiveMQ监控 jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产...
2. **MBean Server**: 所有MBeans都在MBean Server中注册,这个服务器是JMX架构的中心,负责创建、注册和管理MBeans。 3. **Management Clients**: 这些是使用JMX API与MBean Server交互的应用程序。在本项目中,...
- **MBean Server**:MBean Server是JMX的核心组件,负责注册、管理MBean以及处理来自管理工具的请求。 - **MBean Server Connector**:MBean Server Connector允许外部应用程序通过特定的协议(如RMI、HTTP、JMXMP...
- **对于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...
- **注册MBeans**:MBeans需要注册到MBeanServer,这是JMX的核心组件,负责管理和查找MBeans,处理通知,并提供与MBeans交互的接口。 - **管理关系**:通过MBean Server,你可以定义MBean之间的关系,如依赖性或...
2. **Java 8中的JMX改进**: - Java 8对JMX支持保持稳定,但有一些小的改进,如更好的类型安全性和Lambda表达式的集成,使得创建回调函数更加便捷。 3. **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
开发者可以使用JMX API来注册和操作MBeans,从而实现对应用程序的动态管理和监控。 为了更好地理解和利用JMX,你需要了解以下概念: 1. MBean (Managed Bean):MBean是JMX中的基本管理单元,它代表了要管理的对象...