JMX 越来越多得出现在各种技术杂志 、以及社区,如 ibm 的 developerworks 和 bea 的dev2dev 。不仅仅是 SUN ,许多厂商都宣布已经或是准备支持这一技术。 IBM 、 BEA 、 HP 、Marcomedia(JRun) 这些大的厂商,而且还有许多小的软件公司和开源项目也都加入了这一行列 。为什么 JMX 那么受欢迎, JMX 到底有那些优势只得人们去 学习和理解,本文从 JMX 的基本架构、 hellowold jmx 以及 spring 对 JMX 的支持讲起,希望大家能通过本文对 JMX 有个基础的认识,并能通过本文为今后学习 JMX 打个基础
JMX 中的术语:
• MBean :是 Managed Bean 的简称。在 JMX 中 MBean 代表一个被管理的资源实例,通过 MBean 暴露 一系列 方法和属性,外界可以获取被管理的资源的状态和操纵 MBea n的行为。事实上, MBean 就是一个 Java Object ,JavaBean 模型一样,外界使用反射来获取 Object 的值和调用 Object 的方法,只是 MBean 提供了更加容易操作的反射的使用 。 M bean 包括 4 种类型: 标准 MBean 、动态 MBean 、开放 MBean 、模型 MBean 。
• MBeanServer : MBeanServer 是 MBean 的容器 。 MBeanServer 管理这些 MBean , 并且 通过 代理外界对它们的访问。 MBeanServer 提供了一种注册机制, 通过注册 Adaptor和 Connector ,以及 MBean 到 MBeanServer ,并且 通过 代理外界对它们的访问。外界可以通过名字来得到相应的 MBean 实例。
• JMX Agent : Agent 只是一个 Java 进程,它包括这个 MBeanServer 和一系列附加的 MbeanService 。当然这些 Service 也是通过 MBean 的形式来发布。
• Protocol Adapters and Connectors
JMX Agent 通过各种各样的 Adapter 和 Connector 来与外界 (JVM 之外 ) 进行通信。同 样外界( JVM 之外)也必须通过某个 Adapter 和 Connector 来向 JMX Agent 发送管理或控制请求。 J dmk5.1 中, sun 提供很多 Adaptor 和 Connector 的实现
Adapter 和 Connector 的区别在于: Adapter 是使用某种协议 (HTTP 或者 SNMP)来与 JMX Agent 获得联系, Agent 端会有一个对象 (Adapter) 来处理有关协议的细节。 比如 SNMP Adapter 和 HTTP Adapter 。而 Connector 在 Agent 端和 client 端都必须有这样一个对象来处理相应的请求与应答。比如 RMI Connector 。JMX Agent 可以带有任意多个 Adapter ,因此可以使用多种不同的方式访问 Agent 。
JMX 基本构架:
JMX 分为三层,分别负责处理不同的事务。它们分别是:
• Instrumentation 层
Instrumentation 层主要包括了一系列的接口定义和描述如何开发 MBean 的规范。通常 JMX 所管理的资源有一个或多个 MBean 组成,因此这个资源可以是任何由 Java 语言开发的组件,或是一个 JavaWrapper 包装的其他语言开发的资源。
• Agent 层
Agent 用来管理相应的资源,并且为远端用户提供访问的接口。 Agent 层构建在 Intrumentation 层之上,并且使用管理 Instrumentation 层内部的组件。通常 Agent 由一个 MBeanServer 组成。另外 Agent 还提供一个或多Adapter 或 Connector 以供外界的访问。
• Distributed 层
Distributed 层关心 Agent 如何被远端用户访问的细节。它定义了一系列用来访问 Agent的接口和组件,包括 Adapter 和 Connector 的描述。
Jmx 三层之间的关系:
- 大小: 64.7 KB
- 大小: 56.6 KB
分享到:
相关推荐
#### 一、JMX简介 JMX,全称为Java Management Extensions,是一项由Sun Microsystems提出并被广泛采纳的标准技术。它主要用于监控和管理系统资源,包括但不限于应用程序、硬件设备以及网络资源等。通过使用JMX,...
1. **JMX简介** JMX的主要作用是让开发者能够创建和注册可管理的对象,即MBeans,它们代表了应用程序中的各种资源或服务。MBeans提供了暴露其状态和操作的方法,使得管理者可以通过JMX API进行访问和控制。例如,...
### JMX 简介 JMX 不仅仅是一个接口,而是一套完整的规范,允许开发者将管理功能集成到Java应用中。通过MBeans,开发者可以创建可管理的对象,这些对象可以代表应用程序中的任何资源或服务,如配置参数、服务状态等...
1. **JMX简介**:JMX是Java平台的一部分,提供了一种标准的方式来管理和监控Java应用程序。它允许开发者创建可管理和可监控的组件,并将它们集成到应用程序中。 2. **MBean(Managed Beans)**:MBean是JMX的核心...
#### 一、Zabbix与JMX监控简介 **Zabbix**是一款开源的企业级监控工具,它能够监控网络中的各种硬件资源和软件服务的状态,并且提供了丰富的功能,如自动发现、报警等。在Zabbix 2.0版本中引入了一个新的特性——...
#### JMX简介及其发展历程 JMX(Java Management Extensions)是一种用于管理与监控应用程序的标准框架和技术。它的前身是JMAPI(Java Management API),随着技术的发展,逐渐演变成了今天我们所熟知的JMX。JMX的...
1. **JMX简介** JMX允许开发者创建和注册管理 Bean(MBeans),这些Bean提供了对应用程序组件的访问接口,从而可以监控和管理其状态。MBeans分为标准MBean、自定义MBean和动态MBean三种类型,它们分别对应不同的...
JMX简介 JMX是Java平台上的一个标准,允许开发者创建可管理的组件,并通过统一的接口进行监控和控制。它使得系统管理员能够轻松地获取运行时信息,调整参数,甚至在必要时执行远程操作。JMX通过MBeans(Managed ...
#### JMX API简介 JMX API提供了一套标准化的方法来暴露管理信息和操作,包括但不限于计数器、监视器和进程状态等。通过JMX API,可以轻松调用管理任务和批量作业,并与管理组件进行交互。此外,它还支持远程访问...
### JMX简介 JMX是一种服务,它提供了一种灵活的方式来管理和监控Java应用程序,包括内存使用、线程状态、MBeans(Managed Beans)等。MBeans是JMX的核心概念,它们是Java对象,代表可管理的资源或服务,并提供了...
#### 一、JMX 1.4规范简介 JMX(Java Management Extensions)技术是Java平台上的一个重要组成部分,用于管理和监控Java应用程序及运行环境。随着JMX技术的发展,其最新版本1.4已经成为JDK标准的一部分。这一规范的...
一、JMeter简介 Apache JMeter是Apache软件基金会的一个项目,设计用于模拟多种并发用户执行特定的HTTP请求,以测试服务器、网络或对象的性能。它支持多种协议,如HTTP、HTTPS、FTP、JDBC等,可以用于性能测试、...
JMX是一种用于管理和监控Java应用程序的技术,它提供了一组API,允许开发者将管理功能嵌入到应用程序中,如性能监控、配置管理、故障检测等。JMX支持动态发现和连接管理对象,以及通过网络进行远程管理。 ### 2.2 ...
#### 一、JMX 简介 Java Management Extensions (JMX) 是一个为应用程序、设备、系统等提供标准管理界面的框架。它允许开发者监控和管理资源(如应用程序、设备和服务),通过标准接口暴露资源的属性、操作和事件。...
#### 一、JConsole简介 JConsole是一款随Sun JDK 1.5发布而来的Java监控和管理工具,它支持Java Management Extensions (JMX)规范,允许用户通过图形界面监控Java虚拟机(JVM)的运行状态。无论是在本地还是远程环境下...
一、JMX简介 Java Management Extensions (JMX) 是Java平台的一个标准组件,它提供了管理和监控应用程序、操作系统、硬件设备和网络服务的能力。通过JMX,开发者可以定义管理对象(MBeans),这些对象封装了应用程序...
#### 一、资源管理与JMX - **JMX(Java Management Extensions)概述**: - JMX 是一个为应用程序、设备和服务提供标准管理接口的框架。 - 它允许开发人员通过标准的 API 来管理资源,这些资源可以是硬件设备也...
#### 二、JMX简介及其发展历程 **JMX**(Java Management Extensions) 是一种用于管理与监视应用程序的标准技术。它的前身是 **JMAPI**(Java Management API),后来演变为JMX并逐渐成为业界广泛接受的标准之一。 - *...