JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。
JMX致力于解决分布式系统管理的问题,比如网站的监控和软件的参数配置等,因此,能够适合于各种不同的环境是非常重要的。
管理对象是JMX应用程序的核心。JMX是通过RMI(Remote Method Invocation)进行通信。RMI使得一个Java虚拟机(JVM)上运行的程序可以调用远程服务器上另一个JVM总的对象。借助于JMX可以如此简单的管理程序,无需为管理程序来开发界面。已经有通用的JMX管理软件,或者用SUN提供的WEB界面来管理。
JMX这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络管理应用的需要。
JMX注重于构造管理工具的软件框架,并尽量采用已成熟的技术。
JMX体系被分成三个层次
表现层
表现层定义的是JMX可管理资源所在的层。
这些已管理的资源可以编写或封装为MBean。
MBean分为四种类型: 标准、动态、开放、模型
代理层
定义的是MBean向应用程序施加管理的层。包括MBean服务器和代理服务的定义。还至少包括一个协议适配器或连接器。 代理的组成: 。一个MBean服务器 。要管理的MBean 。作为MBean实现的代理服务 。至少一个协议适配器
MBean
在JMX中,最小的可管理单元是MBean。 MBean不是一个真正的接口和类,而是必须准循的设计模式以确保资源是一个兼容的MBean。
MBean的激活方法:
invoke()方法是管理应用程序用于激活MBean的方法的手段。 invoke()方法有三个参数,分别是方法的名称、表示属性的对象数组和描述方法签名的一个字符串数组。它与使用Java Reflection Api 激活方法的方式类似。
Notification(通知)模型:
MBean的通知模型类似与Java事件的监听器模型。 MBean或管理应用程序可以作为MBean事件的监听器注册。 通知支持由两个基本的概念组成,即广播器和监听器。
MBean服务器
MBean服务器用于注册可管理的MBean。 所有对MBean的请求或查询都是通过MBean服务器实施的。
代理服务
代理服务是一些特殊的函数,代理把这些服务提供给MBean,这些代理服务独立于任何MBean。
分布式服务层
包含协议适配器和连接器两种类型的组件,通过它们连接到外部的应用,如RMI管理应用、基于浏览器的管理控制等 协议适配器和连接器 协议适配器是代理与管理客户通信的手段,每个通信的协议都可能不同。 它们都是管理客户与MBean交互的方式。
分享到:
相关推荐
NULL 博文链接:https://luisfigo.iteye.com/blog/703759
在这款性能监视软件中,我们可以深入探究以下几个关键知识点: 1. **性能指标**:WebLogic性能监视软件能够收集并展示一系列关键性能指标,如CPU利用率、内存使用、线程状态、JVM垃圾回收、网络I/O、数据库连接池等...
9. **JMX(Java Management Extensions)支持**:Spring允许注册bean到JMX管理器,方便监控和管理应用程序。 10. **异步处理和任务调度**:Spring提供了异步方法执行和任务调度的能力,通过`@Async`注解可以实现...
- **JMX改进**:管理和监控功能得到优化,JMX接口更加简洁易用。 源码分析时,我们可以重点关注以下几点: - **IoC容器**:深入理解BeanFactory和ApplicationContext的实现,以及如何通过XML或注解配置Bean。 - *...
《探究probe.war 3.2.0版本的深度解析》 probe.war是一个Web应用程序的归档文件,它是基于Java技术栈构建的。在Java世界中,WAR(Web ARchive)文件格式用于打包和部署Web应用。probe.war 3.2.0版本是我们今天要...
1. **Core Container(核心容器)**:这是 Spring 的基础,包括 Beans 模块和 Core 模块。Beans 模块提供了依赖注入(Dependency Injection, DI)功能,它是 Spring 框架的核心,允许开发者创建可配置和可管理的对象...
"HowTomcatWorks"项目,正如其名,旨在帮助开发者了解Tomcat的工作原理,通过源代码分享,使我们有机会深入探究这个强大的服务器内部机制。 1. **Tomcat架构概览** Tomcat的架构设计分为几个主要部分:Catalina...
《深入理解hsdis-amd64.dylib:JDK1.8中的HotSpot VM JIT编译与反汇编插件》 ...在JDK1.8中,通过正确配置和使用hsdis-amd64.dylib,我们可以深入探究代码执行的底层细节,从而更好地驾驭Java应用程序。
这个源码压缩包包含了Tomcat的核心组件,让我们深入探究其中的关键知识点。 1. **目录结构**: - `bin`:包含启动和停止Tomcat的脚本。 - `conf`:存储服务器配置文件,如server.xml、context.xml等。 - `lib`:...
- **监控工具**:Tomcat提供了多种监控工具和技术,如JMX(Java Management Extensions)。 - **内存使用调整**:根据应用的实际需求,调整Tomcat的内存使用,例如设置最大堆内存(-Xmx)和最小堆内存(-Xms)。 - *...
源代码的开放使得我们有机会深入探究其内部工作机制,特别是如何实现J2EE接口,这对于我们提升技术能力、优化应用性能以及解决实际问题具有重大意义。本文将围绕"resin-3.1.9-src"这一主题,详细介绍Resin 3.1.9的源...
5. **运行机制**:探究Tomcat的工作流程,包括请求接收、解析、调度、执行及响应过程。 6. **源码分析**:深入研究Tomcat的源代码,理解Catalina、 Coyote、 Jasper等核心组件的功能和交互,这有助于优化性能和调试...
综上所述,jinstr-sandbox是Java开发者不可或缺的利器,它提供了一个全面且安全的平台,让开发者能够深入探究JVM的工作原理,优化资源利用,提升应用性能,为高质量的Java软件开发保驾护航。对于任何希望提升Java...
通过系统地学习和深入的探究,学生们可以在理论与实践中找到自己的位置,提高解决实际问题的能力。 综上所述,"北航专硕课程资料汇总"是北航研究生教育的一份珍贵财富。它不仅提供了全面的课程资料,还为学生们提供...