精华内容
下载资源
问答
  • JMX导出器 JMX到Prometheus导出器:一个收集器,该收集器可以可配置地抓取和公开JMX目标的mBean。 该导出程序旨在作为Java代理运行,公开HTTP服务器并提供本地JVM的度量。 它也可以作为独立的HTTP服务器运行,并刮...
  • jmx转储 在命令行上将JMX指标转储为JSON。 安装 从下载独立的二进制文件或jar。 也可以通过自制水龙头使用 brew tap r4um/homebrew brew install jmx-dump 旧版本。 用法 使用发行版中的独立二进制文件或jar。 $ ...
  • postman2jmx 邮递员收集到Jmeter jmx文件转换器。 笔记 postman2jmx转换器仅转换Postman V2 +导出的文件! 随时发送任何请求请求。 安装 postman2jmx需要​​Java8 +和Maven 3+。 克隆或下载项目。 $ git clone ...
  • 火龙果软件工程技术中心 Java管理扩展(JMX)技术是Java2平台的标准版(J2SE)5和企业版(J2EE)的重要组成部分。现在,与J2EE兼容的应用服务器需要支持这个标准,因为其中一些服务器使用JMXMBean作为基础架构。...
  • fiddler导出jmx文件必要文件,内容包含ImportExport中的JmeterExporter.dll文件和JmeterExporter.pdb文件;Scripts中的CustomRules.js文件。 通过fiddler录制导出jmx格式文件,再通过jmeter导入jmx格式文件使用。
  • 主要介绍了Tomcat开启JMX服务方法的相关内容,小编觉得挺不错的,在这里给大家分享一下,需要的朋友可以参考。
  • 今天小编就为大家分享一篇关于使用JMX监控Zookeeper状态Java API,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 主要介绍了Jmeter如何基于命令行运行jmx脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • JMX配置与使用

    2019-07-19 00:00:44
    1. 服务器端配置:(如果是本地监控,直接启动再选本地进程) 2. 主机名配置 3. 客户端配置
  • java版s源码JMX代理 JMXProxy 通过简单的 HTTP 请求公开给定 JVM 上所有可用的 MBean 属性。 结果采用易于解析的 JSON 格式。 服务器组件是使用 . 目录 下载 最新版本编译神器: 最新版本源代码存档: 编译 构建是一...
  • 此文件夹内包含JmeterExporter.dll和JmeterExporter.pdb这两个文件,将其放在fiddler安装包ImportExport文件夹下中 \Fiddler\...继续下一步就能导出jmx文档,将生成的jmx文档导出到jmeter中就可以了,亲测可以用。
  • jmx介绍和使用

    2019-03-28 14:56:27
    jmx的简单介绍和使用,包含一些简单的代码示例,看完基本能了解jmx并使用。
  • catalina-jmx-remote.jar

    2020-07-22 19:26:37
    Tomcat 7 Extras . JMX Remote Lifecycle Listener. catalina-jmx-remote.jar . JMX监控所需文件之一。
  • harry是一个命令行实用程序,它将HTTP存档(har)转换为JMeter测试计划(jmx) ###通过Pip选项的安装说明1:将其下载为 选项2:通过点子。 $ pip install harry ###为什么? JMeter是用于测试给定HTTP请求的...
  • jmx监控tomcat测试包

    2016-12-15 15:52:23
    catalina-jmx-remote.jar放到tomcat/lib目录下 如果是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行: set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=JMX_HOST set CATALINA...
  • jmx-agent jmx-agent 使用 JVM Agent 接口链接到任何 JVM,并导出 JMX Server! 安装 通过在启动 Java 进程时提供单个启动选项 -javaagent 来安装此代理。 java -javaagent:JmxAgent.jar=port=5678,host=localhost...
  • JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测 Python调用JMeter 首先要安装JMeter,官方下载地址 解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如 ...
  • mvn仓库里面找不到jmxtools-1.2.1.jar,jmxri-1.2.1.jar的包了,备个份,解压密码123
  • TongWeb7的JMX监控.doc

    2020-11-05 14:13:31
    TongWeb常见问题处理,用于运维的问题处理,便于解决应用部署时遇到的各种问题...
  • Fiddler导出jmx文件

    2018-04-24 13:53:29
    Fiddler导出jmx文件,解决Fiddler导出文件中 没有jmx文件选项,各个版本fiddler都适用
  • jboss远程调用JMX

    2019-04-21 01:31:40
    NULL 博文链接:https://skyteam.iteye.com/blog/1924935
  • Kafka JMX导出器配置 用于JMX导出器的Kafka度量标准配置文件( ) 收集器可配置地刮擦并公开JMX目标的Kafka mBean。 它运行Java代理,公开HTTP服务器并提供本地JVM的服务指标。 跑步 要作为javaagent运行,请并运行...
  • java.jmx-源码

    2021-02-25 04:03:46
    clojure.java.jmx 从Clojure生产和消费JMX bean。 发布和依赖项信息 该项目遵循版本方案MAJOR.MINOR.PATCH,其中每个组件都提供更改大小的一些相对指示,但不遵循语义版本控制。 通常,所有更改都力求不间断(通过...
  • Description Resource Path Location Type Missing artifact com.sun.jmx:jmxri:jar:1.2.1 pom.xml /eshop-storm line 2 Maven Dependency Problem
  • jmx-invoker 远程执行托管 Bean 公开的方法的应用程序。 打包好的jar接收如下参数: -urls 'file_name' : 带有 urls 列表的文本文件,其中包含一个按行的 RMI url。 -mbclass 'class_name' :托管 Bean JMX 对象...
  • Zabbix通过JMX方式监控java中间件 Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”;它是用java写的一个程序。 工作原理: zabbix_server想知道一台主机上的特定的JMX值时,它向...
  • prometheus jmx

    2018-07-11 09:59:38
    使用prometheus 的 jmxexport 监控tomcat文档 。
  • JMX

    2020-02-18 09:03:07
    JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务...

    JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能框架。JMX可以跨越一系列异构操作系统平台、系统体系结构网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

    JMX简介

    JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等

    优点是可以非常容易的使应用程序被管理

    伸缩性的架构使每个JMX Agent服务可以很容易的放入到Agent中,每个JMX的实现都提供几个核心的Agent服务,你也可以自己编写服务,服务可以很容易的部署,取消部署。

    主要作用是提供接口,允许有不同的实现

    分层

    JMX体系结构分为以下四个层次:

    设备层

    设备层(Instrumentation Level):主要定义了信息模型。在JMX中,各种管理对象以管理构件的形式存在,需要管理时,向MBean服务器进行注册。该层还定义了通知机制以及一些辅助元数据类。

    代理层

    代理层(Agent Level):主要定义了各种服务以及通信模型。该层的核心是一个MBean服务器,所有的管理构件都需要向它注册,才能被管理。注册在MBean服务器上管理构件并不直接和远程应用程序进行通信,它们通过协议适配器和连接器进行通信。而协议适配器和连接器也以管理构件的形式向MBean服务器注册才能提供相应的服务。

    分布服务层

    分布服务层(Distributed Service Level):主要定义了能对代理层进行操作的管理接口和构件,这样管理者就可以操作代理。然而,当前的JMX规范并没有给出这一层的具体规范。

    附加管理协议API

    定义的API主要用来支持当前已经存在的网络管理协议,如SNMP、TMN、CIM/WBEM等。

    设备层

    该层定义了如何实现JMX管理资源的规范。一个JMX管理资源可以是一个Java应用、一个服务或一个设备,它们可以用Java开发,或者至少能用Java进行包装,并且能被置入JMX框架中,从而成为JMX的一个管理构件(Managed Bean),简称MBean。管理构件可以是标准的,也可以是动态的,标准的管理构件遵从JavaBeans构件的设计模式;动态的管理构件遵从特定的接口,提供了更大的灵活性。

    该层还定义了通知机制以及实现管理构件的辅助元数据类。

    管理构件(MBean)

    在JMX规范中,管理构件定义如下:它是一个能代表管理资源的Java对象,遵从一定的设计模式,还需实现该规范定义的特定的接口。该定义了保证了所有的管理构件以一种标准的方式来表示被管理资源。

    管理接口就是被管理资源暴露出的一些信息,通过对这些信息的修改就能控制被管理资源。一个管理构件的管理接口包括:

    1)能被接触的属性值

    2)能够执行的操作

    3)能发出的通知事件

    4)管理构件的构建器

    管理构件通过公共的方法以及遵从特定的设计模式封装了属性和操作,以便暴露给管理应用程序。例如,一个只读属性在管理构件中只有Get方法,既有Get又有Set方法表示是一个可读写的属性

    其余的JMX的构件,例如JMX代理提供的各种服务,也是作为一个管理构件注册到代理中才能提供相应的服务。

    JMX对管理构件的存储位置没有任何限制,管理构件可以存储在运行JMX代理的Java虚拟机的类路径的任何位置,也可以从网络上的任何位置导入。

    JMX定义了四种管理构件:标准、动态、开放和模型管理构件。每一种管理构件可以根据不同的环境需要进行制定。

    1.标准管理构件

    标准管理构件的设计和实现是最简单的,它们的管理接口通过方法名来描述。标准管理构件的实现依靠一组命名规则,称之为设计模式。这些命名规则定义了属性和操作。检查标准管理构件接口和应用设计模式的过程被称为内省(Introspection)。JMX代理通过内省来查看每一个注册在MBean 服务器上的管理构件的方法和超类,看它是否遵从一定设计模式,决定它是否代表了一个管理构件,并辨认出它的属性和操作。

    2.动态管理构件

    动态管理构件提供了更大的灵活性,它可以在运行期暴露自己的管理接口。它的实现是通过实现一个特定的接口DynamicMBean。

    JMX代理通过getMBeanInfo方法来获取该动态管理构件暴露的管理接口,该方法返回的对象是MbeanInfo类的实例,包含了属性和操作的签名。由于该方法的调用是发生在动态管理构件向MBean服务器注册以后,因此管理接口是在运行期获取的。不同于标准管理构件,JMX代理不需要通过内省机制来确定动态管理构件的管理接口。由于DynamicMBean的接口是不变的,因此可以屏蔽实现细节。由于这种在运行期获取管理接口的特性,动态管理构件提供了更大的灵活性。

    3.开放管理构件

    开放管理构件是一种专门化的动态管理构件,其中所有的与该管理构件相关的参数、返回类型和属性都围绕一组预定义的数据类型(String、Integer、Float 等)来建立,并且通过一组特定的接口来进行自我描述。JMX代理通过获得一个OpenMBeanInfo对象来获取开放管理构件的管理接口,OpenMBeanInfo是MbeanInfo的子类。

    4.模型管理构件

    模型管理构件也是一种专门化的动态管理构件。它是预制的、通用的和动态的 MBean 类,已经包含了所有必要缺省行为的实现,并允许在运行时添加或覆盖需要定制的那些实现。JMX规范规定该类必须实现为javax.management.modelmbean.RequiredModelMBean,管理者要做的就是实例化该类,并配置该构件的默认行为并注册到JMX代理中,即可实现对资源的管理。JMX代理通过获得一个ModelMBeanInfo对象来获取管理接口。

    模型管理构件具有以下新的特点:

    1)持久性

    定义了持久机制,可以利用Java的序列化或JDBC来存储模型MBean的状态。

    2)通知和日志功能

    能记录每一个发出的通知,并能自动发出属性变化通知。

    3)属性值缓存

    具有缓存属性值的能力。

    通知模型

    一个管理构件提供的管理接口允许代理对其管理资源进行控制和配置。然而,对管理复杂的分布式系统来说,这些接口只是提供了一部分功能。通常,管理应用程序需要对状态变化或者当特别情况发生变化时作出反映。

    为此,JMX定义了通知模型。通知模型仅仅涉及了在同一个JMX代理中的管理构件之间的事件传播。JMX通知模型依靠以下几个部分:

    1)Notification,一个通用的事件类型,该类标识事件的类型,可以被直接使用,也可以根据传递的事件的需要而被扩展。

    2)NotificationListener接口,接受通知的对象需实现此接口。

    3)NotificationFilter接口,作为通知过滤器的对象需实现此接口,为通知监听者提供了一个过滤通知的过滤器。

    4)NotificationBroadcaster接口,通知发送者需实现此接口,该接口允许希望得到通知的监听者注册。

    发送一个通用类型的通知,任何一个监听者都会得到该通知。因此,监听者需提供过滤器来选择所需要接受的通知。

    任何类型的管理构件,标准的或动态的,都可以作为一个通知发送者,也可以作为一个通知监听者,或两者都是。

    辅助元数据类

    辅助元数据类用来描述管理构件。辅助元数据类不仅被用来内省标准管理构件,也被动态管理构件用来进行自我描述。这些类根据属性、操作、构建器和通告描述了管理接口。JMX代理通过这些元数据类管理所有管理构件,而不管这些管理构件的类型。

    部分辅助元类如下:

    1)MBeanInfo--包含了属性、操作、构建器和通知的信息

    2)MBeanFeatureInfo--为下面类的超类。

    3)MBeanAttributeInfo--用来描述管理构件中的属性。

    4)MBeanConstructorInfo--用来描述管理构件中的构建器。

    5)MBeanOperationInfo--用来描述管理构件中的操作。

    6)MBeanParameterInfo--用来描述管理构件操作或构建器的参数。

    7)MBeanNotificationInfo--用来描述管理构件发出的通知。

    代理层

    代理层是一个运行在Java虚拟机上的管理实体,它活跃在管理资源和管理者之间,用来直接管理资源,并使这些资源可以被远程的管理程序所控制。代理层由一个MBean服务器和一系列处理被管理资源的服务所组成。

    MBean服务器

    Mbean服务器为代理层的核心,设备层的所有管理构件都在其注册,管理者只有通过它才能访问管理构件。

    管理构件可以通过以下三种方法实例化和注册:

    1)通过另一个管理构件

    2)管理代理本身

    3)远程应用程序

    注册一个管理构件时,必须提供一个唯一的对象名。管理应用程序用这个对象名进行标识管理构件并对其操作。这些操作包括:

    1)发现管理构件的管理接口

    2)读写属性值

    3)执行管理构件中定义的操作

    4)获得管理构件发出的通告

    5)基于对象名和属性值来查询管理构件

    协议适配器和连接器

    MBean服务器依赖于协议适配器和连接器来和运行该代理的Java虚拟机之外的管理应用程序进行通信。协议适配器通过特定的协议提供了一张注册在MBean服务器的管理构件的视图。例如,一个HTML适配器可以将所有注册过的管理构件显示在Web 页面上。不同的协议,提供不同的视图。

    连接器还必须提供管理应用一方的接口以使代理和管理应用程序进行通信,即针对不同的协议,连接器必须提供同样的远程接口来封装通信过程。当远程应用程序使用这个接口时,就可以通过网络透明的和代理进行交互,而忽略协议本身。

    适配器和连接器使MBean服务器与管理应用程序能进行通信。因此,一个代理要被管理,它必须提供至少一个协议适配器或者连接器。面临多种管理应用时,代理可以包含各种不同的协议适配器和连接器。

    当前已经实现和将要实现的协议适配器和连接器包括:

    1)RMI连接器

    2)SNMP协议适配器

    3)IIOP协议适配器

    4)HTML协议适配器

    5)HTTP连接器

    代理服务

    代理服务可以对注册的管理构件执行管理功能。通过引入智能管理,JMX可以帮助我们建立强有力的管理解决方案。代理服务本身也是作为管理构件而存在,也可以被MBean服务器控制。

    JMX规范定义了代理服务有:

    1)动态类装载--通过管理小程序服务可以获得并实例化新的类,还可以使位于网络上的类库本地化。

    2)监视服务--监视管理构件的属性值变化,并将这些变化通知给所有的监听者。

    3)时间服务--定时发送一个消息或作为一个调度器使用。

    4)关系服务--定义并维持管理构件之间的相互关系。

    1.动态类装载

    动态类装载是通过m-let(management applet)服务来实现的,它可以从网络上的任何URL处下载并实例化管理构件,然后向MBean服务器注册。在一个M-let服务过程中,首先是下载一个m-let文本文件,该文件是XML格式的文件,文件的内容标识了管理构件的所有信息,比如构件名称、在MBean服务器中唯一标识该构件的对象名等。然后根据这个文件的内容,m-let服务完成剩余的任务。下图例示这一过程:

    2.监视服务

    通过使用监视服务,管理构件的属性值就会被定期监视,从而保证始终处于一个特定的范围。当监视的属性值的变化超出了预期定义的范围,一个特定的通告就会发出。JMX规范当前规定了三种监视器:

    1)计数器监视器,监视计数器类型的属性值,通常为整型,且只能按一定规律递增。

    2)度量监视器,监视度量类型的属性值,通常为实数,值能增能减。

    3)字符串监视器,监视字符串类型的属性值。

    每一个监视器都是作为一个标准管理构件存在的,需要提供服务时,可以由相应的管理构件或远程管理应用程序动态创建并配置注册使用。

    下图例示了计数器监视器的使用情况:

    3.时间服务

    时间服务可以在制定的时间和日期发出通告,也可以定期的周期性的发出通告,依赖于管理应用程序的配置。时间服务也是一个管理构件,它能帮助管理应用程序建立一个可配置的备忘录,从而实现智能管理服务。

    4.关系服务

    JMX规范定义了管理构件之间的关系模型。一个关系是用户定义的管理构件之间的N维联系。

    关系模型定义如下一些术语:

    1)角色:就是是一个关系中的一类成员身份,它含有一个角色值。

    2)角色信息:描述一个关系中的一个角色。

    3)关系类型:由角色信息组成,作为创建和维持关系的模板。

    4)关系:管理构件之间的当前联系,且必须满足一个关系类型的要求。

    5)角色值:在一个关系中当前能满足给定角色的管理构件的列表。

    6)关系服务:是一个管理构件,能接触和维持所有关系类型和关系实例之间的一致性。

    在关系服务中,管理构件之间的关系由通过关系类型确定的关系实例来维护。仅仅只有注册到MBean服务器上并且能被对象名标识的管理构件才能成为一个关系的成员。关系服务从来就不直接操作它的成员--管理构件,为了方便查找它仅仅提供了对象名。

    关系服务能锁定不合理关系类型的创建,同样,不合理的关系的创建也会被锁定。角色值的修正也要遵守一致性检查。

    由于关系是定义在注册的管理构件之间的联系,所以当其中的管理构件卸载时,就会更改关系。关系服务会自动更改角色值。所有对关系实例的操作比如创建、更新、删除等都会使关系服务发出通告,通告会提供有关这次操作的信息。

    JMX关系模型只能保证所有的管理构件满足它的设计角色,也就是说,不允许一个管理构件同时出现在许多关系中。

    服务层

    当前,SUN并没有给出这一层的具体规范,下面给出的只是一个简要描述。

    该层规定了实现JMX应用管理平台的接口。这一层定义了能对代理层进行操作的管理接口和组件。这些组件能:

    1)为管理应用程序提供一个接口,以便它通过一个连接器能透明和代理层或者JMX管理资源进行交互。

    2)通过各种协议的映射(如SNMP、HTML等),提供了一个JMX代理和所有可管理组件的视图。

    3)分布管理信息,以便构造一个分布式系统,也就是将高层管理平台的管理信息向其下众多的JMX代理发布。

    4)收集多个JMX 代理端的管理信息并根据管理终端用户的需要筛选用户感兴趣的信息并形成逻辑视图送给相应的终端用户。

    5)提供了安全保证。

    通过管理应用层和另一管理代理和以及他的设备层的联合,就可以为我们提供一个完整的网络管理的解决方案。这个解决方案为我们带来了独一无二的一些优点:轻便、根据需要部署、动态服务、还有安全性。

    管理协议

    该层提供了一些API来支持当前已经存在的一些管理协议。

    这些附加的协议API并没有定义管理应用的功能,或者管理平台的体系结构,他们仅仅定义了标准的Java API和现存的网络管理技术通信,例如SNMP。

    网络管理平台和应用的开发者可以用这些API来和他们的管理环境进行交互,并将这个交互过程封装在一个JMX管理资源中。例如,通过SNMP可以对一个运行有SNMP代理的交换机进行管理,并将这些管理接口封装成为一个管理构件。在动态网络管理中,可以随时更换这些管理构件以适应需求。

    这些API可以帮组开发者根据最通常的工业标准来部署他们的管理平台和应用。新的网路管理的解决方案可以和现存的基础结构合为一体,这样,现存的网络管理也能很好的利用基于Java技术的网络管理应用。

    这些API目前在JCP(Java Community Process)内作为独立的JSR(Java Specification Request)开发。

    他们包括:

    1)SNMP Manager API

    2)CIM/WBEM manager and protocol API

    实现应用

    自从SUN发布了JMX规范,许多大公司纷纷行动起来,实现规范或者实现相应的基于JMX的网络管理系统,下面列出了当前的主要实现及应用情况:

    1)SUN为JMX规范了作出了相应的参考实现,并在此基础上开发了一个全新的用于网络管理的产品JDMK(Java动态管理工具集),其中定义了资源的开发过程和方法、动态JMX代理的实现、远程管理应用的实现。同时,JDMK也提供了一个完整的体系结构用来构造分布式的网络管理系统,并提供了多种协议适配器和连接器,如SNMP协议适配器、HTML协议适配器、HTTP连接器、RMI连接器。

    2)IBM Tivoli实现了JMX规范的产品为TivoliJMX,它为JAVA管理应用程序和网络提供了架构、设计模式、一些API集和一些服务。

    3)Adventnet开发的关于JMX的产品为AdventNet Agent Toolkit,它使得定义新的SNMP MIB、开发JMX和Java SNMP Agent的过程自动化

    4)JBoss实现的J2EE应用服务器以JMX为微内核,各个模块以管理构件的形式提供相应的服务。

    5)BEA的Weblogic应用服务器也将JMX技术作为自己的管理基础。

    6)金蝶的Apusic也是一个以JMX为内核开发出的J2EE应用服务器。

     

    现在我们开始JMX的了解:

    1.到java.sun首页的JMX页面,下载JMX的规定说明和Samples程序。

    2.按照JMX的说明进行一次Tutorial,了解如何加入 删除 配置一个MBean,Tutorial中是以SimpleMBean为例,那么我们能否建立一个自己的MBean?

    我们来做一个Hello 的MBean,这里有一个小关键点,你的class取名有个规则, 需要以MBean为结尾,如这里我们取名为HelloMbean:

    public interface HelloMBean {

    // management attributes

    public String getName();

    public void setName(String name);

    // management operations

    public void print();

    }

    在这个Class里,有一个隐含attributes: name, 提供了set和get的方法,同时有一个操作方法print():

    再定义一个concrete类:

    public class Hello implements HelloMBean {

    private String name = "";

    public String getName() {

    return name;

    }

    public void setName(String name) {

    }

    public void print() {

    System.out.println("Hello, " + name + "!!" );

    }

    }

    这样一个简单的MBean就做好了,我们可以通过admin界面加入这个Hello,

    再按 Tutorial启动BaseAgent,在Agent Administration中参考Simple填入:

    Domain: Standard_Hello_MBeans

    Keys : name=Hello,number=1

    Java Class: Hello

    将出现Create Successful信息。进入MBean View 给Name赋值,点按Apply ,然后再按print,这是你的Hello中的方法,在控制台你会看到输出。

    是不是很惊奇Hello中的 attributes 和operations能被动态的访问和控制? 已经隐约感到JMX的架构原理了吧?

    下面再深入明确一些概念:

    上面HelloMBean资源是通过admin这样的HTTP WEB界面管理,这种管理资源方式是属于JMX的Distributed服务层, JMX 通过Distributed层能够部署和管理MBean资源。就象上面的例子,是通过HtmlAdaptor提供的HTTP WEB界面来方面的维护管理HelloMBean.

    那么我们能否在程序中自动管理和部署我的MBean?当然可以,这是通过Agent层来完成,现在我们已经有了这个层次,MBean所在的资源层,

    最外面的Distributed服务层,Distributed服务层是通过Agent层来访问MBean资源的。

    Agent Level(Agent层)包括MBean Server和Agent Services,那么我们来做一个上面例子HelloMBean的Agent:

    // CREATE the MBeanServer

    //

    System.out.println("\n\tCREATE the MBeanServer.");

    MBeanServer server = MBeanServerFactory.createMBeanServer();

    // CREATE Registe HelloMBean

    //

    System.out.println("\n\tCREATE, REGISTER a new Hello Standard_MBean:");

    HelloMBean helloMBean = new Hello();

    ObjectName hello_name = null;

    try {

    hello_name = new ObjectName("Standard_Hello_MBeans:name=Hello,number=1");

    System.out.println("\tOBJECT NAME = " + hello_name);

    //将HelloMBean注册到MBeanServer中去

    server.registerMBean(helloMBean, hello_name);

    }

    catch (Exception e) {

    e.printStackTrace();

    return;

    }

    向MBeanServer注册后,以后JMX就知道有了这个HelloMBean资源。

    管理一个agent的MBean资源或使用它提供的服务必须通过一个protocol adaptor 或者connector,adaptor 或者connector属于Distributed layer level(Distributed服务层),我们上面例子中通过HTTP WEB界面管理HelloMBean就是浏览器通过HtmlAdaptor这个adaptor来实现的。

    展开全文
  • 简单的jmx代理 在Java HotSpot虚拟机中,使用开箱即用的远程jmx时会打开服务器端口,其中一些端口是动态的,这使防火墙非常难受。 下面显示了这一痛苦的事情: java \ -Djava.net.preferIPv4Stack=true \ -...
  • cmdline-jmxclient-0.10.3.jar

    2019-05-21 11:48:48
    通过配置tomcat/bin/catalina.sh使用。使用方法参照:https://blog.51cto.com/13700457/2397812

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,522
精华内容 32,608
关键字:

jmx