jmx使用应该注意的基本规范

1、标准MBean 名称必需是在要监控的类名后面加上“MBean ”。

2、监控的类和MBean 接口必需在同一包下,也可以理解为注册的接口名字必须以MBean结尾,接口实现类比接口名字少了MBean,而且接口和接口实现类必须放在同一个包下

如果不是这样,将会报类似的错:

Exception in thread "main" javax.management.NotCompliantMBeanException: MBean class test.my.demo.jmx.stander.notification.Hello does not implement DynamicMBean, neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class test.my.demo.jmx.stander.notification.Hello is not a JMX compliant Standard MBean) nor the MXBean conventions (javax.management.NotCompliantMBeanException: test.my.demo.jmx.stander.notification.Hello: Class test.my.demo.jmx.stander.notification.Hello is not a JMX compliant MXBean)
at com.sun.jmx.mbeanserver.Introspector.checkCompliance(Introspector.java:160)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:305)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
at test.my.demo.jmx.stander.notification.HelloAgent.main(HelloAgent.java:19)

时间: 2024-10-16 16:54:13

jmx使用应该注意的基本规范的相关文章

cassandra高级操作之JMX操作

需求场景 项目中有这么个需求:统计集群中各个节点的数据量存储大小,不是记录数. 一开始有点无头绪,后面查看cassandra官方文档看到Monitoring章节,里面说到:Cassandra中的指标使用Dropwizard Metrics库进行管理. 这些指标可以通过JMX查询,也可以使用多个内置和第三方报告插件推送到外部监控系统(Jconsole).那么数据量存储大小是不是也是cassandra的某项指标了? 带着疑问,我通过Jconsole看到了cassandra的一些指标(先启动cassa

JMX

一.为什么使用JMX,解决那些问题 举一个应用实例:在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢? 写死在程序里,到要改变时就去改程序,然后再编译发布: 把这些信息写在一个配置文件里(JAVA一般都是*.properties文件),到要改变时只要改配置文件,但还是重新启动系统,以便读取配置文件里的新值: 写一个段代码,把配置值缓存起来,系统在读值的时候,先看看配置文件有没有更动.如有更改则重读一遍,否则从缓存里读取值 用JMX!把配置属性集中在一个类

JMX学习以及在log4j中的应用

前言 JMX即Java Managemen Extensions,是一个为应用程序植入管理功能的框架.一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理. 常常在编程的过程中有一些配置信息需要动态的进行改变,我以往会有如下几种做法: 写死在Java code中,环境发生变化的时候修改Java code 写在名为*.properties的配置文件里,使用Java读取配置文件 然而今天我们将引入一种高级的方式来进行配置信息的管理,那便是JMX的引入. 如何使用J

JMX初体验

想要给自己的项目加上监控的功能,JMX是个不错的选择,主要是简单通用 首先建立个接口,命名规范为:Java 类名 + "MBean"后缀 然后,生成Java 类,实现上述接口,即MBean类 然后,创建MBeanServer,即JMX agent,接收客户端调用 然后,实例化MBean,生成ObjectName,在MBeanServer中注册MBean 为了通过浏览器访问,加入HtmlAdaptor,在MBeanServer中注册HtmlAdaptorServer 示例代码如下: pu

JMX示例

1.JMX示例: 一.JMX简介 什么是JMX?在一篇网文中是这样说的:"JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理",这句话我现在看着还是不知所云,云里雾里. 我们还是从JMX能给我们提供什么好处入手来理解吧.举一个应用实例:在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢? 1. 程序初哥一

Atitit jsr规范有多少个  407个。Jsr规范大全

Atitit jsr规范有多少个  407个.Jsr规范大全 1.1. JCP维护职能是发展和更新.1 1.2. Java技术规范.参考实现(RI).技术兼容包(TCK)1 1.3. JCP维护的规范包括J2ME.J2SE.J2EE,XML,OSS,JAIN等1 1.4. 所有的jsr规范大全407个..2 2. 900开头的java 核心规范  30个11 1.1. JCP维护职能是发展和更新. 1.2. Java技术规范.参考实现(RI).技术兼容包(TCK) 1.3. JCP维护的规范包括

一句话介绍JMX

what? The Java Management Extensions (JMX) API is a standard API for management and monitoring of resources such as applications, devices, services, and the Java virtual machine. 一句话:对系统资源进行管理的规范API. where to use? ypical uses of the JMX technology in

利用JMX统计远程JAVA进程的CPU和Memory

从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java.lang.management 包,包里提供了许多MXBean的接口类,可以很方便的获取到JVM的内存.GC.线程.锁.class.甚至操作系统层面的各种信息,本文就简单的介绍 一种利用JMX对JAVA进程进行CPU.堆内存使用的监控.可能有人会觉得没必要这样做,因为用jconsole之类的工具都能做到,而且会比本文的例 子更详细.但是有些时候将console不一定能监控到作为系统服务的java进程,我最近就不得不自己

Java SE 6 新特性: JMX 与系统管理

Java SE 6 新特性: JMX 与系统管理 2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升.与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML,编译器 API,数据库,JMX,网