JMX(Java Management Extensions)中文翻译为JAVA管理扩展,jmx是在J2SE 5.0被加入到JAVA平台里的,主要是提供一种简单,标准低耦合的方式来管理JAVA平台的相关资源,包括硬件资源,操作系统资源,JVM,应用服务器,JAVA应用系统等。目前各大应用服务器都有相应的JMX实现,如WEBLOGIC,Tomcat等,在WEBLOGIC控制台里,我们可以通过点击按钮来部署或卸载应用包,新建或删除数据源、连接池等,WEBLOGIC里的所有操作都是基于JMX实现的,那到底JMX做了什么呢?
可以想像一下如果我们不用JMX,我们是如何来管理我们的JAVA应用的,通过命令行部署包(或者有一些是直接将应用包拷到相应目录下),通过修改配置文件来新建连接池或数据源等,这样的管理方式要求管理人员具有较高的技术水平,相应管理成本也就高了,而最大的问题是所有的可管理的资源没有一个统一的管理平台,各种资源以不同的方式被管理着,涉及到大量修改的时候难免会有问题产生,而JMX则提供这么一个统一的管理平台,我们只要在WEBLOGIC的控制台下做相应操作,即可实现对整个系统的控制。
JMX是如何实现对资源的控制的呢?又是如何是松耦合的方式被加入到系统中的呢?
对于平台中可由JAVA编程访问到的资源,JMX通过一个被称为MBean的对象将资源进行封装,被封装的资源甚至不需要知道自己被封装了,在封闭的MBean中提供对资源各种属性的访问,并定义各种资源上可进行的操作,比如对于文件资源,可进行的操作有读写等,对于数据库连接池有新建删除等。将封装好的MBean注册到一个MBeanServer的对象中,该对象用于管理在其之上注册的MBean,实现的对任意一个在其之上注册的MBean对象属性的访问及操作的调用,客户层只要知道被封装的MBean的注册名(为ObjectName对象)即可向MBeanServer请求查看该对象的属性及在该对象上进行封装MBean时暴露出来的操作方法的调用,由于进行管理的客户层不一这与被管理的对象及MBeanServer对象处于同一机器,因此需要定义相关的访问协议,协议由各种各样的连接器(Connector)及适配器(Adaptor)组成。
较为常用的即是RMIConnector及HttpAdaptor,连接器一般由连接器MBean,连接器服务及连接器客户端组成,如RMIConnector,则需要在MBeanServer端注册一个代表连接器的MBean,该MBean管理着相应的底层连接服务,在RMI中则为RMI的服务端对象,在客户端则需要通过客户端的RMI对象与服务器端的RMI对象进行通过才能进行MBeanServer的访问。适配器(Adaptor)一般由适配器MBean及相应的服务组成,如HTTPAdaptor,只需要在MBeanServer中注册一个HTTPAdaptor的MBean,则可在客户端通过浏览器访问MBeanServer,从而访问其中注册的MBean,当然包括HTTPAdaptor。
JMX中的MBean有两种,一种是标准MBean(Standard MBean),其实现主要是为需要管理的资源新建一个类及相应的MBean接口,在类中暴露相应的属性及操作,再将该MBean注册到MBeanServer中,因为所暴露的属性及操作在编译期就已经明确了,因此标准MBean又以静态MBean区分于动态MBean;动态MBean在编译期间并不知道所产生的MBean对象所暴露的属性及操作,而是直到运行期间才知道的,它主要的实现方式构造用于描述暴露的属性及操作等内容的MBeanInfo对象并将之赋予MBean对象,在运行期间,MBeanServer通过其MBeanInfo中的元信息来判断其可执行的操作及可访问的属性的。
另外MBean通过实现NotificationEmiter或直接继承Notificationbroadcastersupport类来实现发送事件通知的功能
这里只做简单的描述,欲了解更多JMX相关的内容,可在下面的网址找到各种JMX相关的内容,若有其它好的网址也请推荐一下:)
JMX
官方文档
Java theory and practice: Instrumenting applications with JMX
从黑箱到企业系统文章第1部分
从黑箱到企业系统文章第2部分
从黑箱到企业系统文章第3部分
j2se 6平台的新特性
JMX与commons-modeler
分享到:
相关推荐
学习JMX,需要理解其基本概念,熟悉MBean的创建和注册,掌握如何使用JMX Connectors进行远程监控,以及如何利用JMX进行应用性能调优。对于开发者而言,JMX是提高应用可维护性和可管理性的重要工具。通过深入学习和...
【JMX 学习文档】 Java Management Extensions (JMX) 是一种用于在Java应用程序中集成管理功能的框架。它提供了一种标准的方式来管理和监控应用程序,包括配置、性能和资源管理。JMX允许开发者创建可管理和自描述的...
JMX(Java Management Extensions)是Java平台上的一个...结合源码学习和使用工具,JMX可以帮助我们更好地理解和控制我们的Java应用程序。无论是开发人员还是运维人员,熟悉和掌握JMX都将对日常工作带来极大的便利。
JMX深入学习
学习JMX和MXBean,你需要了解以下关键点: 1. **MBean服务器**:这是JMX的核心组件,它负责注册、存储和管理MBeans。每个Java虚拟机都有一个默认的MBean服务器。 2. **MBean接口**:MBean必须实现一个接口,该接口...
【JMX学习——一步步来】 JMX,全称为Java Management Extensions,是一个用于植入管理功能到Java应用程序的框架。它提供了一套标准的接口和服务,使得开发者可以在任何Java应用中实现管理和监控。对于初学者来说,...
JMX实战 书中不仅有对于基础知识的介绍,还有对于JMX开发中重大的体系架构问题的深入探讨,总结了大量JMX开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些...
Java Management Extensions(JMX)是Java平台提供的一种标准框架,用于管理和监控应用程序、系统和服务。在JMX中,管理功能是通过MBeans(Managed Beans)实现的,它们充当了Java对象与管理工具之间的接口。接下来...
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
Java Management Extensions(JMX)是Java平台中用于管理和监控应用程序、操作系统、网络设备等资源的一种标准框架。通过JMX,开发者可以创建管理代理(MBeans),这些代理暴露了各种管理特性,使得系统管理员可以...
为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowold jmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础
《JMX in Action》是一本深入探讨Java管理扩展(Java Management Extensions, JMX)技术的专业书籍,对于...通过学习这本书,读者可以有效地利用JMX提升Java应用的可维护性和管理性,实现更加高效和自动化的运维流程。
jmx监控ActiveMQ监控 jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产...
【JMX 一步步来】 JMX(Java Management Extensions)是一个用于在Java应用程序中添加管理和监控功能的框架。它提供了一套标准的接口和服务,使得开发者能够轻松地在Java应用中集成管理和监控的能力。JMX的核心概念...
当我们谈论"jboss远程调用JMX"时,我们关注的是如何通过网络从一个JMX客户端连接到运行在JBoss服务器上的JMX服务,以便进行远程管理和监控。 首先,我们需要了解JMX的基本概念。MBean是JMX的核心,它是一个Java对象...
Java Management Extensions(JMX)是Java平台上的一个标准管理框架,它允许开发人员对Java应用程序进行监控和管理。JMX提供了动态发现、管理和控制服务的能力,使得开发者可以创建可管理和自描述的服务。以下是对...
总结来说,`jmxdemo`项目是一个实用的学习资源,可以帮助你深入理解JMX机制,提高你在Java环境中进行系统管理和监控的能力。通过实际操作和调试代码,你可以更直观地了解JMX的工作流程,并将其应用于自己的项目中。
Java Management ...总之,JMX提供了一种灵活、统一的方式来管理和监控Java应用,而"最简单JMX例子"是学习这项技术的良好起点。通过实际操作这个例子,你将更好地理解JMX的工作机制,并能将其运用到自己的项目中。