(新手)JMX

最近在读tomcat源码,稍微看了下jmx

我感觉JMX也是有点像C/S的模型,应用相当于JMX Server,注册了一系列的MBean;然后由专门的JMX客户端,对这些MBean进行管理

所有JAVA应用,都有一些默认的MBean,这是由JVM注册的,比如ClassLoadingMXBean、MemoryMXBean等;然后tomcat、jboss这样的servlet容器,也会注册一些MBean,比如tomcat里的各种核心组件,StandardServer等;最后就是我们自己开发的web app,也可以注册MBean(容器和webapp都在同一个JVM里)

对于不是webapp的应用,当然同样也可以注册;只是这时候就没有容器提供的MBean了

常见的JMX客户端是JDK里自带的jconsole,通过编程开发专用的JMX client当然也是可以的,JMX规范也定义了相应的API

另外如果要允许jmx client远程连接上JVM进行管理的话,还需要开启jmx remote端口,在启动JVM时用-D参数控制(本地连接就不需要了)

最后,是否要使用JMX,要结合应用的实际情况,不能为了JMX而JMX

你可能感兴趣的:(jmx)