我的理解--关于jmx

JMX

Java Management Extensions,Java管理扩展,初步看了些资料,以为是专门管理,监控jvm的一些信息的,特别是visual VM这个监控jvm的东西,还有一个添加JMX连接的时候(我自己想错了,那样的话应该叫jvm Management Extensions),其实他能使得基于java语言开发的程序能被管理,并且是可扩展的。

 

 

 

Jdk以前是通过JVMPI之类来监测Java程序运行中的jvm和系统的一系列情况,现在通过jmx就可以做到,这是通过java.lang.management 包来实现的,这个包是 JMX 在 JDK方面 的一个应用,并不是表示jmx就是一个监控jvm的东西。

 

我们可以用jmx来监控我们的系统,通过公布API的方式,但是,这里采用监控这个词,也是受了前面的例子的影响,实际上,个人觉得,就可以用jmx来开发我们的系统。

 

现在的jboss,hibernate,tomcat各种应用都号称实现了JMX规范,将可管理,可调用的MBean注册到MBeanServer中,通过一种类似“web服务”的方式公布出去,并且伴有一个名字,可以通过该名字找到该MBean。并且,这里的MBean是可以被管理的,说到这里又想到了OSGI。

 

JMX与Web Service

 

个人认为,我们实现JMX规范,将东西发布出去,和通过web Service的方式是很类似的,也是可以远程调用的,只是相对的web Service的方式更加SOA一些,不过JMX号称也要提供对非java客户端的支持,也就是跨语言了吧。。。

 

现在的JMX连接方式:

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server");        JMXConnector jmxc = JMXConnectorFactory.connect(url, null);

看了下源码,貌似还是通过RMI来实现的,不知道它要怎么实现非java客户端支持。

 

 

从这里,我觉得JMX可以实现的,我们也都可以通过web Service实现,只是看在它有个“M”上,以后如果有什么系统管理,监控方面的,可以考虑使用它,也许开发,个人觉得还是使用web service好一些。

 

说到这里,感觉OSGI与JMX也好像,在看到JMX能够对MBean进行管理的时候,我就觉得跟OSGI很像,OSGI管理的是Bundle,找了找资源,原来早就有人考虑过了:

http://teamojiao.iteye.com/blog/438334

 

顺便,在查资料的时候,发现一个东西,

if your question means, how to manage an OSGi runtime with JMX, you should have a look at MAEXO (http://code.google.com/p/maexo/). With MAEXO bundles up and running you will transparently get MBeans for a fair amount of services of the OSGi runtime as well as MBeans for your own services and bundles. Just have a look at the screencast.

 

摘一些话:仅做参考

 

<网友回复>

一个大系统中,各内部模块系统之间的基于接口方式的互相调用和治理,使用jmx是最佳方案.

带来的好处是

1.面向接口,远程调用对于开发人员是透明的,模块在调用jmx接口时,与调用本地方法几乎相同.

2.可视化的治理界面, 通过 Jconsole等jmx客户端,可以实时监控系统,并且可实时调用方法进行某些操作.

 

典型应用场景: 

 

某聊天系统,一台服务器作为 在线用户列表服务器 A1, n台服务器为用户提供聊天业务处理 N1 ,N2,N3...,

一台服务器作为后台治理系统A2. 

 

系统治理员现在进行下面这样一个操作,察看某用户是否在线,找到该用户,发现其在线,则将该用户加入黑名单,并踢下线.

 

对应的jmx接口可以由以下几个: 

A1为A2提供查询在线用户jmx接口,加入黑名单接口,kickout接口,

A1为N1..等服务器提供以下接口: 注册业务服务器,添加在线用户.查找黑名单用户

N1...到N3为A1提供kickout接口.

 

因此在上面的踢下线操作,则由用户在A2的web界面发出,交由A1执行,A1记录黑名单之后,再找到用户所在业务服务器调用N1提供的接口让用户下线.

 

 

以上情形是在生产环境下的部署,而在开发工作,则可以将A1,A2,N...N3等功能合并在一个应用中调试. 由于使用的是jmx接口,在本地调试合并之后,可以直接调用应用内部接口方法.

 

这样借助jmx实现的应用模块的灵活组装与拆分,使得系统的可以根据负载需要,根据性能情况,灵活的拆分和整合部署分布式的应用.

 

替代方案,选择webservice,xmlrpc等,但是这些都需要手工编写或用工具生成大量的代码来辅助完成接口间的java对象序列化 。

 

经典jmx案例:

1.Jboss.使用jmx治理内部的各个service。

2. 基于java的开源网管软件 Hyperic HQ ,通过jmx与各被治理资源进行通讯和信息采集.

 

 

 

<网友回复>JMX是一个治理的框架。

当我们想使用JMX的时候,就要问,我们的系统当中有需要监控治理的资源或者对象吗?实事求是一点,我们不能为了想使用一个高端的技术,就歪曲系统的本来面目。

假如第一个问题是肯定的,接下来就是看这些资源是否有生命周期。

经典案例:jboss就是将所有可部署的组件作为资源来治理,这些组建都有其生命周期。这个理念甚至延伸到了其系统内部,将其内部的服务作为组件纳入到 JMX中来,成就了jboss基于jmx的微内核系统。

 

 

 

13、深入理解JMX:构建高效的企业级管理解决方案 本文深入探讨了Java管理扩展(JMX)的核心概念与架构,涵盖了仪器化层、代理层和分布式服务层的详细实现。文章还介绍了MBean的生命周期管理、通知机制、持久化策略,以及模型MBean和开放MBean的高级特性。同时,深入分析了JMX在J2EE平台上的应用及其未来发展方向,包括安全性增强、性能优化和更广泛的系统集成。通过丰富的代码示例和最佳实践,帮助开发者构建高效的企业级管理解决方案。 阅读详情

相关推荐

19、深入理解JMX在J2EE中的应用与实现

本文深入探讨了JMX在J2EE平台中的应用与实现,详细介绍了JMX的基本架构、不同类型的MBean(如标准MBean、动态MBean、模型MBean和开放MBean)的实现方式,以及通知机制、关系服务、连接器和协议适配器等核心功能。同时,文章还分析了JMX在J2EE服务、组件和应用管理中的具体应用场景,并总结了JMX的最佳实践和未来发展方向。通过本文,开发者可以全面掌握JMX技术,提升Java应用程序的管理和监控能力,特别是在分布式和集群环境中的应用。

x2y3z4a5b的博客 113

JMX使用详解

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

技术人集结地 3969

Dify 1.0+内网部署全攻略:模型插件离线安装与信创环境适配

本文详细介绍了Dify 1.0+版本在内网环境中的部署全攻略,重点解析了模型工具插件的离线安装方法与信创环境适配技巧。通过实战经验分享,帮助企业在严格的内网隔离条件下高效部署AI平台,解决插件依赖和安装难题,提升大语言模型的应用效率。

weixin_29224529的博客 274

生命在于学习——框架-中间件的学习(二)

框架-中间件的学习(二)

易水哲的博客 874

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2624

电容式触摸抗干扰设计:工业环境下的实践方案

针对工业环境中电容式touch器件易受干扰的问题,分享实用的硬件布局与软件滤波方案,提升touch响应稳定性和可靠性。

weixin_35755562的博客 844

JMX 使用(原创)

本文地址:项目需要使用MBEAN来读取XML配置,如果校验失败,则直接让相关的app部署不起来。这是背景。由此所需考虑的东西:1. 如何让MBEAN一启动就去读配置?2. 如果读取配置错误或者读到后校验失败,如何让指定的包部署不起来而不是关闭Jboss(因为还有其他包不应该受到影响)?问题1很好解决,直接创建Start方法,并在start方法中去调读取配置的方法。Mbean在初始化的时候默认会执行

Edison Xu 895

2026软考中级-软件设计师笔记(送最新视频教程)

核心口诀:运控存输输(运算器、控制器、存储器、输入、输出)例题(2019年上半年):核心公式:数字签名流程:数字证书作用:死锁4个必要条件:死锁判断公式:处理策略:程序设计语言的四大核心成分:顺序表操作(时间复杂度):链表操作(时间复杂度):核心思想:频率高的字符用短编码,频率低的用长编码 → 最小化总编码长度构造步骤(贪心算法):前提:有序表(升序/降序) 步骤:时间复杂度:O(log₂n) 例:查找中核心思想:用哈希函数将关键字映射到存储位置 哈希冲突:不同关键字映射到同一位置 → 用链地址法或开放定址

36万+

JMX超详细解读(转)

转自:https://www.cnblogs.com/dongguacai/p/5900507.html 一、JMX的定义     JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理的功能,例如你开发一个WEB网站,它是在24小时不间断运行,那么你肯定会对网站进行监控,如每天

学会改变自己——才能突破 1942

电机控制基础,小白入门篇

电机,这个藏在风扇、电动车、机器人里的“动力心脏”,如何精准控制它的转速、方向甚至力量?这篇博客专为完全零基础的小白打造,用“说人话”的方式拆解电机控制的底层逻辑,帮你从“看不懂电路图”到“能调个简单电机”。 电机控制不是“大神专属”,只要掌握“电生磁、磁生力”的底层逻辑,加上动手实践,小白也能快速入门。这篇博客会陪你从“看电机转”到“让电机听话”,把复杂的控制原理变成能上手玩的“小实验”。准备好你的面包板和电机,我们一起开启“电控之旅”吧!

汽车电子软件领域知识分享 5614

ROS局部路径规划器插件teb_local_planner流程梳理(上)

在我之前的文章《ROS导航包Navigation中的 Movebase节点路径规划相关流程梳理》中已经介绍过Move_base节点调用局部路径规划器插件的接口函数是computeVelocityCommands,接下来,我们就从这个函数入手梳理一下teb_local_planner功能包的工作流程。

慕羽★的博客 5165

理解JMX之介绍和简单使用

近期在项目上需要添加一些功能,想把一个开源工程整合进来,虽说是整合,但是觉得跟开发有查不了多少,要让这个开源工程的编码风格和设计方式与我们的工程保持一致,其中涉及到应用程序的监控和管理,不可避免的要使用JMX,之前简单的了解过JMX,但是没有动力深入去了解其中的原理和编码,由于项目需要,这次针对JMX要深入总结一下,关于监控的内容,之前写过一篇系统监控之SNMP协议理解,纯属是科普文章,也没有编程实

lmy86263的博客 5万+

27、视网膜血管识别与分类的数据集和验证过程

本文介绍了视网膜血管自动识别与分类方法所使用的数据集及其验证过程。通过30张高分辨率的近红外反射视网膜图像,结合专业医生的手动标注结果,构建了包含597个血管段的基准数据集。研究采用准确率、召回率、F1分数和混淆矩阵等评估指标对模型进行验证,并提出了特征增强和分类器优化策略以提升性能。实验结果显示,该方法在复杂区域具有较强的鲁棒性和较高的准确性,为临床应用提供了可靠的依据。

i7j8k9l的博客 148

JMX的理解和应用

✅ 生产环境:JMX Exporter + Prometheus + Grafana,不暴露 JMX Remote,提高安全性。✅ GC 调试:jcmd / jstat / jmap / jstack 即插即用,无需额外开放端口。JMX(Java 管理扩展)是 Java 内置的一套监控和管理框架,允许开发者。✅ OOM / 性能问题分析:jmap Dump + MAT 工具分析。只需要下载包以后java -jar启动 就可以查看更详细的jvm信息。同时启用remote和exporter。

sj1163739403的博客 1658

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 370

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JMX 的理解

Web应用系统总算开发了,接下来该如何让客户(Web应用系统的管理员)轻松管理我的一堆配置文件,或者如何实现动态修改系统运行属性,同时又让客户不需要过多的了解配置文件的内容就能够实现这些管理呢?这是许多刚刚结束Web应用系统前期开发的系统分析人员需要面临的问题。又或者说我想对早已完成Web应用系统进行有效的资源管理,希望再添加管理功能的同时,对原有的代码不需要做过多的修改,换句话说就是管理系统与被

changyanmanman的专栏 1866

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JMX 理解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34128501的博客 103

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

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

JMX的l理解

一、JMX的一些定义与用途 Java Management Extensions:Java管理扩展,是管理系统和资源之间的一个接口,它定义了管理系统和资源之间交互的标准。 1、专门管理,监控jvm的一些信息的,特别是visual vm这个监控jvm的东西,还有一个添加JMX连接的时候 2、能使得基于java语言开发的程序能被管理,并且是可扩展的。 3、用jmx把需要配置的属性集中在一个类中...

weixin_30716725的博客 247

JMX理解与实例

JMX(Java Management Extensions) 是来管理网络,设备,应用程序等资源,它描述了一个可扩展的管理体系结构,并且提供了 JMX API 和一些预定义的 java 管理服务。 通过JMX可以轻松地为应用程序添加管理功能,即可以在尽可能少的改变原有系统的代码基础上实现对原系统的管理。 [b]JMX Technology Architec...

peiqu123的专栏 241

最简方式理解JMX

问:什么叫JMX 答:全名Java Management Extensions 缩写:JMX 问:是什么东东? 答:java的一种管理扩展。 问:干啥的? 答:为应用程序及设备植入管理功能。 问:有啥优点? 答:1. JMX可以跨操作系统平台;2.使得应用程序被容易的管理。 一句话总结:JMX技术提供了构建分布式、基于web、模块化和动态解决方案的工具,用于管理和监视设备及应用程...

jw8088的博客 197

【转】理解JMX之介绍和简单使用

原文链接:https://blog.youkuaiyun.com/lmy86263/article/details/71037316 近期在项目上需要添加一些功能,想把一个开源工程整合进来,虽说是整合,但是觉得跟开发有查不了多少,要让这个开源工程的编码风格和设计方式与我们的工程保持一致,其中涉及到应用程序的监控和管理,不可避免的要使用JMX,之前简单的了解过JM...

as403045314的博客 157

深入理解JMX:Java应用监控与管理的核心工具

JMX是Java SE的标准组成部分,自Java 5开始正式集成。它通过MBean(管理Bean)机制暴露应用程序的内部状态和操作接口,支持本地或远程管理,是Java生态中应用最广泛的管理框架。随着云原生和容器化技术的发展,JMX正在与新一代监控体系融合。Java 14引入的exporter,让传统JMX监控可以无缝接入云原生监控体系。掌握JMX的核心原理,仍然是Java开发者构建可观测性系统的基石。附录:常用JMX操作命令# 列出所有MBean# 获取属性值# 触发操作。

m0_46427956的博客 1565
上一篇: 逝者如斯
下一篇: 悲剧的开发
bhscHello
博客等级 码龄18年 1粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值