JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。
JMX的前身是JMAPI。
JMX致力于解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非常重要的。为了能够利用功能强大的Java计算环境解决这一的问题,Sun公司扩充了Java基础类库,开发了专用的管理类库。
JMX是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。
管理对象是JMX应用程序的核心。JMX结构包括:支持Java的Web浏览器用户接口,管理运行模块ARM(Admin Runtime Module)和应用。这三个部件之间通过RMI(Remote Method Invocation)进行通信。这里需要说明的是,RMI是使得一个Java虚拟机(JVM)上运行的程序可以调用远程服务器上另一个JVM总的对象。
用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括Agent对象接口,通知接口和被管数据接口。应用指的是那些被管设备单元。
JMX是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法。
JMX这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络管理应用的需要。
JMX注重于构造管理工具的软件框架,并尽量采用已成熟的技术。
JMX体系被分成三个层次
。表现层
。代理层
。分布式服务层
JMX框架
二、表现层
表现层定义的是JMX可管理资源所在的层。
这些已管理的资源可以编写或封装为MBean。
MBean分为四种类型:
标准、动态、开放、模型
三、代理层
定义的是MBean向应用程序施加管理的层。包括MBean服务器和代理服务的定义。还至少包括一个协议适配器或连接器。
代理的组成:
。一个MBean服务器
。要管理的MBean
。作为MBean实现的代理服务
。至少一个协议适配器
3.1 MBean
在JMX中,最小的可管理单元是MBean。
MBean不是一个真正的接口和类,而是必须准循的设计模式以确保资源是一个兼容的MBean。
MBean的激活方法:
invoke()方法是管理应用程序用于激活MBean的方法的手段。
invoke()方法有三个参数,分别是方法的名称、表示属性的对象数组和描述方法签名的一个字符串数组。它与使用Java Reflection Api 激活方法的方式类似。
Notification(通知)模型:
MBean的通知模型类似与Java事件的监听器模型。
MBean或管理应用程序可以作为MBean事件的监听器注册。
通知支持由两个基本的概念组成,即广播器和监听器。
3.2 MBean服务器
MBean服务器用于注册可管理的MBean。
所有对MBean的请求或查询都是通过MBean服务器实施的。
3.3 代理服务
代理服务是一些特殊的函数,代理把这些服务提供给MBean,这些代理服务独立于任何MBean。
一个代理可以提供四种主要的服务:
。动态装载:允许代理通过下载这个Bean的类动态实例化MBean,这与装载applet的方式类似。
JMX使用m-let这个标记指定期望动态装载的MBean的位置。
。监控:允许代理通知有关的监听器监控一个MBean的属性值的变化
JMX允许使用三种基本类型的监控程序
(1)CounterMonitor:该程序可以观察类型方面的变化,比如Byte类似或Integer类型
(2)GaugeMonitor:该程序可以观察类型方面的变化,比如Byte类似或Integer类型,还可以在到达上下阀值时进行报告。
(3)StringMonitor:该程序可以观察java.lang.String类型的变化。
。计时器:允许预设的时间间隔发送通知,可以作为一个调度程序
。关系:允许创建和维护MBean之间的关系
四、分布式服务层
包含协议适配器和连接器两种类型的组件,通过它们连接到外部的应用,如RMI管理应用、基于浏览器的管理控制等
五、协议适配器和连接器
协议适配器是代理与管理客户通信的手段,每个通信的协议都可能不同。
它们都是管理客户与MBean交互的方式。
六、JMX的好处
。可减少对JAVA应用实施管理的投资
。提供了一个可伸缩的管理框架
。集成现有的管理方案:如:WBEM,SNMP,TMN
。使用现有的标准JAVA技术
。能使用未来的一些管理概念:如Jini连接技术、通用即插即用、服务定位协议(Service Location Protocol)
。只定义了一些可以访问的接口
分享到:
相关推荐
学习JMX,需要理解其基本概念,熟悉MBean的创建和注册,掌握如何使用JMX Connectors进行远程监控,以及如何利用JMX进行应用性能调优。对于开发者而言,JMX是提高应用可维护性和可管理性的重要工具。通过深入学习和...
1. **MBeans**: MBeans(Managed Beans)是JMX中的基本管理单元,代表了可管理的资源或对象。它们可以是简单的数据结构,也可以是复杂的服务。MBeans分为三种类型:Standard MBean、Dynamic MBean和Open MBean。 2....
书中首先介绍了JMX的基本概念,包括MBean(管理bean)、MBean服务器、代理和通知等核心元素,以及它们在JMX架构中的作用。MBean是JMX的核心,它代表了可以被管理的资源或服务,而MBean服务器则作为运行这些MBean的...
本示例是一个简单的JMX实现,适合初学者理解JMX的基本概念和工作原理。 首先,我们来了解JMX的核心组件: 1. **MBean**(Managed Beans):MBean是JMX中的管理对象,代表了可管理的资源。它可以是任何Java对象,...
标题和描述均提到了“jmx第一个学习例子”,这标志着文章旨在引导读者通过一个实践性的示例理解Java Management Extensions(JMX)的基础概念和技术。JMX作为一项由Sun Microsystems(现Oracle)提出的技术,用于...
这篇博客文章(可以通过给定的链接访问)可能是介绍JMX基础知识的一个很好的起点。虽然具体的博客内容未在描述中给出,但我们可以根据JMX的一般知识来探讨其关键概念和用法。 首先,JMX的核心组成部分包括MBeans...
Java语言进行封装。JMX的核心概念是MBean(Managed Bean),它是一个Java...对于初学者,了解JMX的基本概念、MBean、MBean服务器以及其层次结构是学习的关键,这些知识将有助于开发和维护高效、可管理的Java应用程序。
**标题解析:** "JMX HelloWorld Download" 指的是一个关于Java ...总之,"JMX HelloWorld Download"是一个学习JMX基础的实用资源,通过解压并研究其中的源代码,可以深入理解JMX的工作机制,并为实际开发提供参考。
综上所述,"JMX开发步骤.doc"可能涵盖了JMX的基本概念、MBean的创建与注册、MBeanServer的使用、管理接口设计、连接器配置、安全管理实践以及如何在实际项目中应用JMX等详细内容。这份文档对于学习和理解JMX技术,...
在这个“jmx简单实例”中,我们将会探讨JMX的基本概念,以及如何使用所提供的jar包来构建和运行一个简单的JMX示例。 1. **JMX基础** JMX由三部分组成:MBeans(Managed Beans)、Servers和Agents。MBeans代表管理...
1. **JMX基础知识**: - JMX的核心概念包括MBean(Managed Beans)、MBean Server和MBean操作。MBean是代表管理对象的Java类,它暴露了可供管理的属性和操作。 - MBean Server是JMX框架的心脏,它负责注册和管理...
`JMX学习总结.docx`和`JMX技术.docx`可能是两份文档,详细介绍了JMX的基本概念、API使用方法以及最佳实践。这些文档将帮助你理解MBean的生命周期管理、MBeanServer的交互方式,以及如何使用Notification机制进行事件...
通过实践,学习者可以更深入地掌握JMX的精髓。 总结来说,JMX是Java平台的重要管理工具,它提供了一种统一的接口来管理和监控应用程序和服务。通过《JMX技术介绍》一书及其配套源代码,读者可以深入了解并熟练运用...
接下来,我们将深入探讨JMX的核心概念、MBean的类型以及如何在实际应用中使用JMX。 首先,MBean是JMX的核心组件,它是被管理的Java对象。根据不同的需求和复杂性,MBean可以分为三种类型: 1. Standard MBeans:这...
JMX Remote API扩展了基本的JMX,使得管理操作可以跨越网络进行,允许远程监控和管理Java应用程序。这个版本可能包含了更新的连接器(Connectors)和协议支持,提高了安全性,增强了稳定性,并修复了一些已知问题。...
它提供了MBean服务器、MBean代理、连接器服务器和客户端连接器等核心组件,这些都是JMX功能的基础。 `jmxtools.jar` 是一个辅助库,通常包含了一些工具类和实用程序,用于与JMX相关的任务。例如,它可能包括了用于...
1. **JMX基础知识**:介绍JMX的概念、架构和核心组件,如MBeans、代理(Agents)、连接器(Connectors)等。 2. **MBean详解**:MBeans是JMX的核心,它们代表了管理系统中的资源。资料可能会详细解释如何定义、注册...
通过本章的学习,你已经掌握了JMX的基本概念和操作流程。接下来的章节将深入探讨更复杂的JMX功能,如远程管理、安全管理以及使用标准MBeans和模型MBeans等。理解这些概念将使你能够充分利用JMX来管理和监控复杂的...