JMX(JAVA Management Extensions)技术是java5的新特性,它提供一种简单,标准的方式去管理应用程序,设备,服务等资源。
1什么是JMX
JMS定义了一些设计模式,api和一些服务来进行应用程序和网络的监控,这些都是基于java语言环境的。
使用JMS技术,资源被一种叫做MBeans(Managed Beans)监控,这些MBean都在一个核心对象管理server上注册。叫做MBean server.
2.为什么要使用JMS
JMS给java开发者提供了自由的方式去监控java代码,创建智能java agents,实现分布式管理的中间件和管理者,并且能够快速整合这些方案到的管理和监控系统。
通过一个简单的例子来创建一个JMX agent来管理MBean。
首先创建一个MBean接口:
public interface HelloMBean { public void sayHello(); public int add(int x,int y); public String getName(); public void setCacheSize(int size); public int getCacheSize(); }根据JMX描述,MBean接口包括一些可读或者可写的属性,还有一些定义好的方法,这些方法能够被MBean管理应用程序调用。
实现类,类名必须为接口sufixMBean的前缀。也就是Hello。如果不按这个命名注册MBean就会有问题。
public class Hello implements HelloMBean { //可读属性 不可写 private final String name = "gittudou"; private int DEFUALT_CACHE_SIZE = 200; //可读写属性 private int cacheSize = DEFUALT_CACHE_SIZE; public void sayHello() { System.out.print("hello jmx"); } public int add(int x, int y) { return x+y; } public String getName() { return this.name; } //使用synchronized 同步控制 防止多个线程同时调用set方法 public synchronized void setCacheSize(int size) { this.cacheSize = size; System.out.println("Cache size now "+this.cacheSize); } public int getCacheSize() { return this.cacheSize; } }现在一个简单的MBean类写好了。然后需要再MBean server上注册
public class Main { public static void main(String args[]) throws Exception{ //获取MBeanServer 如果没有MBean server存在那么下面会自动调用ManagementFactory.createMBeanServer() MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); //包名加 类名 创建一个ObjectName ObjectName name = new ObjectName("git.tudou.manage.jmx.test.essential:type=Hello"); //创建一个Hello实例 Hello mbean = new Hello(); //在MBean server上注册MBean mBeanServer.registerMBean(mbean,name); System.out.println("Waiting forever..."); //线程等待 management 操作 Thread.sleep(Long.MAX_VALUE); } }执行这个main方法,接下来我们可以通过JDK提供的一个jconsole去连接这个本地进程。打开MBean,点击Hello
这是一个简单的MBean,使用jconsole去连接,当然也可以使用RMI进行远程连接MBean server,来进行管理和执行操作。在我的代码中还有几种类型的MBean,比如MXBean,加入notification的MXBean,这里没有提到如何自己连接MBean server,接下来用自己实现的代码连接MBean server.
代码附件
相关推荐
2. MBean Server:MBean服务器是JMX架构的核心,负责管理MBeans,处理MBean之间的交互,并提供与外部系统的接口。 3. JMX Connectors:JMX连接器允许客户端与MBean服务器通信,支持RMI、HTTP、HTTPS等多种协议。 4...
JMX是一种标准的Java技术,用于管理和监控Java应用程序的运行状态,包括内存使用、线程信息、MBean(管理beans)等。 1. **JMX基础**: - JMX是Java平台的一个核心组件,它提供了一种统一的方式来管理和监控应用...
`cmdline-jmxclient` 提供了一个命令行界面,使得用户无需编写代码就能与JMX服务器交互,执行查询、获取或修改MBean的属性、调用MBean的操作等。 在Zabbix中集成`cmdline-jmxclient`,可以实现对Java应用的指标收集...
- **MBean Server**:是JMX的核心组件,它负责创建、注册和管理MBeans。 - **属性和操作**:MBeans具有属性(代表状态信息)和操作(允许执行某些功能)。 - **通知**:MBeans可以发送通知来报告重要事件。 - **代理...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备等资源。这里提到的三个ZIP文件包含了不同版本的JMX实现和规范,分别是: 1. **jmx-1_2_1-ri.zip**:这...
1. **MBean Server**: 这是JMX的核心,它存储并管理MBeans,处理MBean的生命周期,并执行MBean的操作。 2. **MBeans**: MBeans是JMX中的管理实体,可以代表任何可管理的对象,如系统服务、应用程序组件或者硬件资源...
MBean,即Managed Bean,是在JMX(Java Management Extensions)框架中用于管理资源的一种特殊Java对象。通过MBean,可以方便地对应用程序进行监控与管理。在Java分布式应用的学习过程中,了解MBean的基本原理和使用...
2. **MBean Server**:MBean服务器是JMX架构的核心,它负责注册和管理MBeans,处理客户端请求,并执行对MBeans的操作。 3. **Management Interfaces**:这些接口定义了MBean的属性、操作和通知,使得管理者可以控制...
Java Management Extensions(JMX)是Java平台上的一个标准,它提供了一种管理和监控应用程序、操作系统、网络设备和其他Java应用程序的方式。这个"jmx-1.2.1(jmxri+jmxtools) jar"包含了JMX的两个核心组件:JMX ...
- **MBean Server**:MBean Server是JMX架构的核心,负责管理MBean的生命周期,包括创建、注册、查找、删除MBean,以及调用MBean的方法。 - **MBean操作和属性**:MBean的操作和属性定义了MBean的功能和状态。属性...
JMX API提供了一组接口和类,用于访问和控制MBean Server和MBean。主要包括: 1. MBeanServerConnection:用于连接MBean Server的接口。 2. MBeanServer:MBean Server的接口,提供了对MBean的管理和访问接口。 3. ...
2. **MBean Server**: MBean Server是JMX框架的核心,它负责注册、管理和查询MBeans,以及执行MBean的操作。 3. **Management Interface**: 这是MBean提供的接口,定义了可管理属性、操作和通知。 4. **JMX ...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备等资源。在JDK1.6版本中,JMX已经成熟并被广泛使用。本篇文章将深入探讨JMX的基本概念、核心组件、功能...
总的来说,"granite-server-activemq-3.0.4.GA.zip" 和 "jmx-publisher.zip" 的组合提供了一个深入了解和实践Java消息服务及JMX管理的绝佳环境。无论是对ActiveMQ的深入学习,还是对JMX工具开发的探索,都能从中获益...
提供的项目应该包含一个简单的JMX应用,展示了如何创建MBean、注册到MBean服务器,以及如何通过JConsole等工具进行远程访问和监控。项目中的"使用说明"将指导你如何运行这个示例,包括导入必要的库,配置MBean ...
3. **Management Clients**: 这些是使用JMX API与MBean Server交互的应用程序。在本项目中,"ops-container"可能就是一个管理客户端,它连接到WebLogic、Tomcat和WebSphere的MBean Server,并执行监控任务。 4. **...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。它提供了一种统一的方式来创建、配置、查询和控制管理资源,使得开发者可以轻松地将管理功能集成到...
通过分析`jmxapp`的源码,我们可以学习如何在实际项目中集成和使用JMX,包括如何定义MBeans、如何在MBean Server上注册和操作MBeans,以及如何设计和实现安全的JMX通信。 此外,对于开发者而言,理解JMX的价值在于...
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