JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。
JMX这项技术可以使你能够管理、监视和配置应用程序。
JMX术语如下:
Manageable resource:
可被管理的资源可以是应用程序,设备或者存在的能够被java程序所访问或者包装的实体。通过JMX可以管理这些资源。应用程序能够暴露自己的组件,API或者附加的资源,使得JMX能够管理应用程序。可被管理的资源甚至可以是网络上的设备,例如打印机。可被管理的资源作为一个实体被JMX MBean所管理。
MBean(managed bean)是一个Java类,符合JXM specification所规定的命名和继承规范。实例化的MBeans是Java对象,其中所暴露出来的接口(management interface)能够操作和访问manageable resources。这些接口是由MBean的属性和操作组成。
Management application通过访问MBean来访问属性和调用操作。MBean分三种类型:Standard,Dynamic和Model MBean.每一种类型都是针对于特定的manageable resource来使用的。
MBean Server是一个能够管理一组MBean的java类,是JMX管理环境的核心,是一个registry(通过查找MBean来注册到MBean Server)。MBean server暴露已经注册了的MBean的management interface,但是从来不暴露对注册了的MBean的引用。另外,如果注册的MBean的类型是不同的,但是MBean Server提供给用户的是一个相同的接口,对于所有类型的MBean进行相同的处理。MBean Server也提供查找MBeans的方法,也可以注册其他的对象作为listener加到MBean上。
JMX agent是一个Java process,能够为管理MBean的集合提供服务,是MBean Server的容器。这些服务可以是建立MBean的之间的关系,动态加载类,监控服务,作为计时器。
JMX agent能够拥有一个protocol adapters的集合和connectors,connectors能够使得远程的不同客户利用该agent。Protocol adapters和connectors都是Java类(通常是作为MBean存在的),能够对协议(例如:Http或者SNMP)建立映射,或者将该代理暴露给远程的连接(例如RMI或者Jini)。这意味着JMX agent能够被各种各样的管理协议和工具所用。
Protocol adapters和connectors是在JMX agent中的对象,将代理暴露给management applicaiton和protocols。例如一个将代理暴露给protocol的例子,agent中的SNMP adapter object能够将SNMP协议映射到JMX agent中。另外,一个agent可以有一个RMI connector,该connector能够让management application通过RMI clients来打开代理和management application的通路,也就是将代理暴露给management application。Protocol adapters有一个在agent之内的简单对象组成,然而connectors有一个对象在代理中,一个对象在client端。
一个代理可以有任意多个adapters和connectors,方便我们使用新的工具或者其他的以存在的管理协议和应用程序。代理能够给应用程序提供灵活的管理,我们也可以将代理分布到网络中。
一个management application可以是任何的用户程序,用于和任意多的JMX agent之间建立接口。对于一些设计好的符合JMX技术的management appliction,JMX agents能够建立和该management application的联系,JMX agents也能够建立和那些先前没有考虑用JMX技术的management application建立联系。一方面,一个兼容JMX的management application能够利用JMX的一些高级特性。令一方面,通过写定制的adapters和connectors,能够让JMX agent有和现存的non-JMX manager建立关系,举个例子:一个SNMP的manager,通过在agent中建立SNMP adapter,使得该agent能够和SNMP的manager建立关系。
Notifications是java对象,用来包装事件,报警和其他的常规信息。由MBeans和MBean Server所激发。其他的MBeans和java对象能够被注册为listener来接收notification。
Instrumentation是一个通过MBean或者MBean的集合来暴露可管理的资源的process,一个应用的Instrumentation发生在开发过程中,或者开发人员建立MBeans,这些MBean用到了已有的活动系统的API。
分享到:
相关推荐
JMX入门是一个重要的主题,尤其对于那些希望深入了解Java应用监控和管理的开发者而言。 这篇博客文章(可以通过给定的链接访问)可能是介绍JMX基础知识的一个很好的起点。虽然具体的博客内容未在描述中给出,但我们...
【JMX 入门详细教程】 Java Management Extensions (JMX) 是一种标准,它允许开发者在Java应用程序中集成管理和监控功能。JMX 提供了一种框架,使得开发者能够轻松地创建、注册和管理称为Managed Beans(MBeans)的...
### JMX入门教程详解 #### 一、JMX概述与价值 JMX(Java Management Extensions)是一种用于管理和监控Java应用程序的标准框架。通过JMX,开发者可以轻松地在Java应用程序中集成管理和监控的功能,从而实现对应用...
总结一下,这个JMX入门例子展示了如何创建一个简单的MBean,将其注册到MBean服务器,并通过`jconsole`进行交互。了解JMX对于任何需要管理和监控Java应用的开发者来说都是一项重要技能,它提供了强大的灵活性和可扩展...
在这个入门指南中,我们将深入探讨JMX的核心概念、API以及如何通过一个简单的示例来理解它的应用。 **一、JMX核心概念** 1. **MBean(Managed Beans)**:MBean是JMX中的核心组件,代表了可管理的资源。它可以是...
本教程将引导你入门Spring框架下的JMX应用。 首先,JMX是一种Java标准,它允许开发者创建可管理的Java组件,并提供了一种统一的方式来管理和监控这些组件。在Spring中,我们可以利用JMX来创建MBeans(Managed Beans...
Java Management Extensions(JMX)是Java平台上的一个标准,用于创建和管理应用程序的管理资源,如服务、设备、系统组件等。JMX 提供了一种框架和API来监控和管理运行时的应用程序,使得开发者可以轻松地添加管理...
JMX(Java Management Extensions)是一种用于在Java应用程序中实现管理和监控功能的框架。它允许开发者创建可管理的组件,即MBeans(Managed Beans),并通过MBeanServer进行交互。JMX提供了一种标准的方式来暴露...
JMX,全称为Java Management Extensions,是Java平台中用于管理和监控应用程序、系统和服务的一种框架。JMX技术在软件开发领域中扮演着重要角色,尤其在大型企业级应用中,能够帮助开发者实现对运行时环境的远程监控...
Java Management Extensions(JMX)是一种Java平台上的标准框架,用于管理和监控应用程序、系统和服务。它允许开发者创建可管理和监控的组件,称为MBeans,这些组件提供了对系统资源的访问和控制。以下是对JMX关键...
3. `jmx入门.rar`:这可能是JMX的基础教程或实践案例,可以帮助初学者快速上手。 4. `jmxremote-1_0_1-ri-bin-b58.zip`:这个文件包含了JMX远程访问的实现,可能包含API文档和库文件。 5. `jmx_remote-1_0-fr-...
Java Management Extensions(JMX)是一种Java平台上的框架,用于管理和监控应用程序、系统和服务。它提供了一种标准的方式来创建可管理的组件,称为MBeans(Managed Beans),这些组件可以暴露其状态和行为,允许...
本篇文章将深入探讨JMX的基本概念、核心组件、功能以及如何入门使用。 一、JMX概述 JMX提供了一种灵活的框架,可以创建、注册和管理被称为管理对象(MBeans)的实体,这些对象代表可管理的资源。MBeans提供了对...
本初学者入门教程将帮助你逐步了解并掌握JMX的核心概念和实际应用。 首先,我们要理解JMX的基本组件。在JMX中,有三个主要元素:管理Bean(MBean)、MBean服务器和代理(Agent)。MBean是JMX的核心,它代表了可管理...
jmeter 入门练习
-> DTO的映射器记录中测验使用DataJpaTest的存储库使用DataMongoTest的存储库使用Mockito的服务使用WebMvcTest的端点使用OpenPojo的Pojos和Dtos JMX入门使用Docker简化开发本教程的目的是提供一个Producer消费者...