JMX简介

转自:http://crmky.spaces.live.com/blog/cns!8C989768DB1A6B14!205.entry

JMX简介

JMX是又一个以J打头的名词:)这年头,J开 头的不认识的单词越来越多,新出一个J打头的单词,总是让人提不起兴趣来:)当然,JMX并不是一个新名词,虽然这个词汇已经出现了很久,但是离我始终是 有些距离,曾经网上浏览了几篇介绍的文章,洋洋洒洒,可惜我就是没搞懂它到底能够做什么,为了解释一个新名词,出现了一堆新名词:(

了解 一项技术,最关键的是要看它能够做什么。那么,JMX能够做什么?可以做一个这样的比喻,JMX是Java程序的PcAnyWhere(或者说是“远程桌 面连接”),它可以让你从一台机器上管理你运行在另一台机器上Java程序。你可以在程序运行后,通过另一台机器来更改程序的某个属性,执行某个操作,就 好象通过PcAnyWhere操作的一样。

在使用浏览器查看网页时,涉及到三个实体:浏览器/WEB服务器/网页。一般而言,使用IE浏 览器也行,使用Firefox也行,查看到的网页都是一致的;同一个网页,放在Apache上也好,放在Tomcat上也好,最终生成的都是同样的页面; 当然,网页是由程序员编写的,必须遵循HTML的规范。JMX类似于这种构架,它也分为三层:Remote Management/Agent/Instrumentation,Remote Management类似于浏览器,Agent类似于WEB服务器,Instrumentation类似于网页。

对于程序员而言,不太需 要去关心Remote Management和Agent,就像做网页一样,不太需要去关心到底是IE访问还是Firefox访问,不太需要去关心是放在Apache上还是放在 Tomcat上,只要遵循了HTML的规范,放在哪里都是一样的。在大部分的情况下,程序员只需要制作网页即可,要程序员自己实现一个WEB服务器,或者 一个浏览器的情况是非常少见的:)

使用JMX,我得到了什么好处?首先,你不必去实现管理界面。只要遵循了HTML规范,在任何浏览器上 都可以看到想要看到的内容;同样,在任何Remote Management上都可以进行管理,JDK1.5就带了jconsole可以进行管理。其次,你不必担心从什么途径进行管理。你不需要担心怎么从另一 个进程来管理这个Java程序,不需要担心怎么从另一台机器来管理这台机器,也不需要担心究竟是采用TCP还是UDP进行网络连接。类似只要WEB服务器 支持,浏览器采用HTTP也能访问网页,采用HTTPS也能访问网页。第三,很方便的加入了运行期管理功能。你可以在运行期调整线程池大小,监测内存占用 情况,管理任何你提供管理的功能。

如果一个人对某项技术产生了兴趣的话,一定是这项技术满足了他的某些需求。我想通过这些介绍已经可以判 断JMX是否对你有足够的吸引力了。我是决定在Cindy的下一个版本中加入对JMX的支持:)

 

你可能感兴趣的:(tomcat,Web,浏览器,IE,firefox)