JMX学习笔记(一)

jmx简单实例,附带jar包完整项目 jmx简单实例装有jms-1.1.jar、jmxri-1.2.1.jar、jmxtools-1.2.1.jar包,完整项目能跑,附带简单使用说明... 立即下载

一.JMX简介

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。

JMX的体系层次结构

  • 分布层:是JMX架构对外一层,分布层负责使用JMX代理对外部世界可用。有两种类型的分布式交互。第一种类型是由适配器来实现,它通过                     HTTP或SNMP一类的协议提供了MBean的可见性。第二种类型是连接器,它将代理的API暴露给其它分布式技术,如Java RMI。
  • 代理层:代理层主要组件是MBean服务器,MBean服务器提供MBean的注册使用,它是JMX代理的核心。
  • 指令层:指令层是接近管理资源的一层,它由代理中注册的MBean构成。MBean使得资源可以通过代理来被管理。=

二 JMX开发环境配置

1. JMX是一份规范,SUN依据这个规范在JDK(1.3、1.4、5.0)提供了JMX接口。而根据这个接口的实现则有很多种,比如Weblogic的JMX实现、MX4J、JBoss的JMX实现。在SUN自己也实现了一份,不过在JDK1.4之前,这件JMX实现(一些JAR包)是可选的,你得去它的网站上下载。JDK5.0则内嵌了进来,安装JDK5.0就可以开发基于JMX的代码了。

2. JDK5.0
  JDK5.0的jre\lib\rt.jar已经包含了jmxri.jar、jmxremote.jar、rmissl.jar三个包的代码。如果你用到jmxtools.jar、jmxremote_optional.jar的类,则需要将这两个类加入到classpath或 Eclipse的项目库引用中。
3. 我使用的开发环境:JDK7.0 + Eclipse4.2。
  注:因为用到jmxtools.jar中的HtmlAdaptorServer类,所以将此包加入到项目库引用中。jmxremote_optional.jar暂时不用到,不管它。


三. HelloWorld实例

1. 开发第一个用JMX可以管理的HelloWorld类,HelloWorld是一个需要被管理的类(普通类)

package com.demo.jmx;

public class HelloWorld implements HelloWorldMBean {

	private String greeting = null;

	public HelloWorld(String greeting) {
		this.greeting = greeting;
	}

	public HelloWorld() {
		this.greeting = "Hello World! I am Standard MBean";
	}

	@Override
	public void setGreeting(String greeting) {
		this.greeting = greeting;
	}

	@Override
	public String getGreeting() {
		return greeting;
	}

	@Override
	public void printGreeting() {
		System.out.println(greeting);
	}

}

2.  要管理HelloWorld则必须创建一个相应MBean,如下:

package com.demo.jmx;

public interface HelloWorldMBean {

	public void setGreeting(String greeting);
	
	public String getGreeting();
	
	public void printGreeting();
	

}

说明:包含在MBean中方法都将是可以被管理的。MBean起名是有规范的,就是原类名后加上MBean字样.

3. 创建一个Agent类

package com.demo.jmx;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

import com.sun.jdmk.comm.HtmlAdaptorServer;

public class HelloAgent {

	public static void main(String[] args) throws Exception {
		// 创建一个MBeanServer作为MBean容器,设定MBeanServer的域名为'HelloAgent'
		MBeanServer mbs = MBeanServerFactory.createMBeanServer("HelloAgent");
		HelloWorld hello = new HelloWorld();
		/**
		 * MBeanServer中注册的每一个在MBean组件都有一个唯一的对象名称标识ObjectName,一个ObjectName包含两个部分,
		 * 域和属性键值对,格式为 "domain:type=MBeanName ,如“com.jmx.demo:type=Hello",
		 * domain和MBeanName可以随意命名
		 */
		ObjectName helloName = new ObjectName("HelloAgent:name=helloWorld");
		//注册MBean
		mbs.registerMBean(hello, helloName);
		// 创建一个HTML适配器AdaptorServer,用来和JMX代理交互,HTML适配器提供了使用Web客户端侵入JMX代理的方式。AdaptorServer同时作为MBean注册在MBeanServer里
		ObjectName adapterName = new ObjectName("HelloAgent:name=htmlAdapter");
		HtmlAdaptorServer adapter = new HtmlAdaptorServer();
//		adapter.setPort(9092);
		mbs.registerMBean(adapter, adapterName);
		adapter.start();
		System.out.println("HelloAgent is running");

	}

}

说明:

    * 先创建了一个MBeanServer,用来做MBean的容器
    * 将Hello这个类注入到MBeanServer中,注入需要创建一个ObjectName类
    * 创建一个AdaptorServer,这个类将决定MBean的管理界面,这里用最普通的Html型界面。AdaptorServer其实也是一个MBean。
    * HelloAgent:name=HelloWorld的名字是有一定规则的,格式为:“域名:name=MBean名称”,域名和MBean名称都可以任意取。

4、运行HelloAgent,然后打开网页:http://localhost:9092/ , 单击“name=HelloWorld”链接进入。

四.总结

  在实际系统中我们可以把name变成决定数库链接池的变量,这样我就可以对系统的运行参数进行实现的监控和配置(管理)。而且也可以对一些方法(如printHello)进行远程调用了。


参考:http://www.blogjava.net/hengheng123456789/articles/65690.html

jmx学习资料 NULL 博文链接:https://hu-bj.iteye.com/blog/382579 立即下载

相关推荐

jmx相关jar包

jmx相关jar包

统一生产JVM参数方案

统一生产JVM参数 背景:公司要重构系统,不想使用官方的JVM配置,想找一些比较合适的JVM配置参数,所以我利用业余时间收集了JVM的参数,每个参数都有明确的说明,以便配置人员可以从中挑选。下文以内存选项、垃圾回收选项、故障排除选项、日志选项和优化选项进行统计,内容不全,仅仅供参考。 1 Memory Options (内存选项) 1.1 -Xms -Xmx -X...

qq_37146354的博客 906

com.sun.jdmk.comm.HtmlAdaptorServer对应jar包

开发jmx相关应用时用到的jar包,jmxtools.jar

查看远程服务器cpu使用情况的方法

进入目录:/weblogic/domains/1213/uspwf/bin$more startWebLogic.sh 找到JMX_OPTIONS="-Dcom.sun.management.jmxremote.port=7443(监控端口)(该处若一开始没有显示该属性,则多按几次回车键,直至加载出该属性); 找到java虚拟机,如下图:   双击执行exe文件:   右键点击远程:

hong_leiding的博客 7765

jmx需要的jar包

NULL 博文链接:https://wangsong1004.iteye.com/blog/1468020

从Simulink仿真到DSP28335真机部署:PID闭环控制快速移植指南

本文详细介绍了如何将Simulink中的PID闭环控制算法快速移植到DSP28335嵌入式平台。通过模型与代码映射、浮点与定点数选择、定时器中断配置、物理输出实现以及调试技巧五个关键步骤,帮助工程师高效完成从仿真到真机部署的全过程,特别适合需要实现精确控制的嵌入式开发者。

weixin_42521843的博客 363

jar包开启jmx的三种方式

我们部署war包的时候都是通过修改tomcat配置文件的方式开启jmx的,那么jar包应该怎么开启呢? 1.直接在启动命令中开启 java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8849 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.serv

JK_sparrow的博客 4188

掌控板玩板指南1:初识掌控板、扩展板、Mind+编辑器

掌控板、I/O扩展板入门

好乐无荒之地 1万+

JMX学习

1. 絮絮叨叨 1.1 Java程序包含哪些线程? 使用Java进行多线程编程的人,多少可能都知道执行main()方法的是一个名为main的线程 通过new Thread新建线程,若不指定线程名,默认线程名为Thread-xx。其中xx是从0开始的编号 public static void main(String[] args) { for (int i = 0; i < 10; i++) { new Thread(() -> System.out.println

lucyLee的博客 3700

Android音频学习(一)——音频基础

在系统的学习Android音频之前,先了解音频的基础知识。

miemie2014的博客 1486

详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署

本文给大家带来是利用RT-DETR模训练自己的数据集,RT-DETR是一种新提出的目标检测模型,它利用的自注意力机制来处理图像数据。不同于YOLO通过连续的卷积层直接对图像区域进行分析,RT-DETR采用Transformer架构中的自注意力机制,这允许模型更有效地理解图像中不同部分之间的关系。这种方法使得RT-DETR在处理图像中的复杂场景和多对象环境时,能够展现出更高的准确性和效率。此外,RT-DETR在保持高精度的同时,也针对实时处理进行了优化,使其适合需要快速响应的应用场景。

Snu77的博客 6万+

JMX使用详解

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。JMX在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务。通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。JMX的主要作用是提供接口,允许有不同的实现。

技术人集结地 3972

3篇1章6节:R基础绘图之图形的保存和导出技巧

高质量图形导出是R语言用户在数据分析和科研工作中的重要技能。通过合理控制图形的分辨率、选择合适的颜色管理方案和文件格式,以及掌握批量保存图形的技巧,可以显著提升图形的展示效果和应用范围。这不仅有助于提高研究成果的展示质量,还能在各种专业场合中展现数据分析的精确性和美观性。

MD Code 1482

【JMX】JMX学习笔记(一)-MBean

JMX学习笔记(一)-MBean 博客分类: java JDKthread JMX        即 Java Management Extensions   Java管理扩展 MBean   即 managed beans                         被管理的Beans 一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、

kenkywu的专栏 1840

Python爬虫实战:全自动采集银行理财产品收益率数据

本文通过Playwright动态爬虫技术,成功实现了对银行理财产品收益率数据的实时采集,并通过 Pandas 数据清洗、SQLite 存储、调度自动化等模块,构建了一个可扩展的银行理财数据抓取系统。理财非儿戏,数据做决策。掌握银行收益信息是我们迈向理性投资的第一步。希望这套工具对你有所帮助!

2201_76125261的博客 1158

DFI协议时序

参数名称典型值应用场景关键影响tcmd_lat1-2个时钟周期命令与地址锁存同步地址错误风险tphy_wrlat1-2个时钟周期写操作响应速度写带宽与延迟2-3个时钟周期写操作端到端延迟系统吞吐量1-2个时钟周期连续写命令间隔信号干扰与资源冲突tphy_rdlat1-2个时钟周期读操作响应速度读带宽与延迟trddata_en由CL决定(如0.41 ns)读数据返回时间系统延迟10-20 ps写数据与命令对齐数据丢失风险<1 µs低功耗模式切换。

qq_43134430的博客 5104

JMX学习笔记一

开发环境:Eclipse Standard/SDK,JDK版本:6.0 基于JMX开发需要五个包:jmxri.jar,jmxremote.jar,jmissl.jar,jmxtools.jar,jmxremote_optional.jar,其中jmxri.jar,jmxremote.jar,jmissl.jar是必须的,jmxtools.jar,jmxremote_optional.jar如果用

分享是最好的记忆 1713

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1129

jmx学习笔记一

JMX        即 Java Management Extensions   Java管理扩展 MBean   即 managed beans                         被管理的Beans 一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、一个应用或者任何资源都可以被表示为MBean,MBean会暴露一个接口对外,这个接口可以读取或

luchy0120的专栏 766

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java jmx mbean_JMX学习笔记(一)-MBean

来源:http://blog.youkuaiyun.com/qiao000_000/article/details/6061808JMX 即 Java Management Extensions Java管理扩展MBean 即 managed beans 被管理的Beans一个MBean是一个被管理的Java对象,有点类似于JavaBean...

weixin_36334361的博客 423

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

《JMX in action》学习笔记(一)——简单的JMX agent编写

书是从这里下载的https://download.youkuaiyun.com/download/fangzhilong/1594446 本文是《JMX in action》Chapter 2的学习笔记,原书是英文版,且本人水平有限,如有错误请指教 1 MBean的编写 每一个MBean都需要实现接口,因为JMX 通过接口来描述MBean需要暴露的属性和操作。 package com.tuan.JM...

四毛毛的博客 1535

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

JMX学习笔记(一)

简介 JMX被用来干什么 监控程序运行状态,运行时修改应用程序参数,如如在不重启的情况下,修改线程池的上限。 监控JVM运行状态,如内存使用情况,线程状态等。 监控网络状态。 为什么要使用JMX JMX技术是JAVA平台的标准化的资源管理技术,因为是标准化的,所以通用,被广泛支持,有很多现成的免费的支持程序,如jmc。并且JVM本身就采用了JMX技术,所以可以被直接监控而不需要再投资开发。 J...

巅峰状态 323

JMX学习笔记(一)-MBean

JMX        即 Java Management Extensions   Java管理扩展MBean   即 managed beans                         被管理的Beans一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、一个应用或者任何资源都可以被表示为MBean,MBean会暴露一个接口对外,这个接口可以读取或者写入一些对...

:) 480
上一篇: TCP/IP基础知识
下一篇: JMX学习笔记(二):MBean
java_huashan
博客等级 码龄14年 37粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值