我对MBean和MXBean有以下问题:
- MBean和MXBean有什么区别?
- MBean和 MXBean的用例是什么?
MXBean
s 只是一种特殊的MBean
s。主要区别在于MXBean
限制数据类型,使它们与潜在客户“更兼容”。
例如: aMBean
可以公开数据类型的属性Foo
。现在客户端也需要有这种类型Foo
才能理解属性。
MXBean
试图将数据类型限制为“已经可用”的数据类型 -等等java.lang.*
。
看这个教程
MXBean 是一种 MBean,它受限于开放类型,基本上是原始类型、字符串及其组合。由于这些限制,MXBean 可以在没有类加载的情况下使用,这使得它们即使与非 Java 客户端也可以互操作。您可以在此处找到规范:http: //docs.oracle.com/javase/7/docs/api/javax/management/package-summary.html#package_description
MBean:
可以是任何 java 对象,我们可以在其中使用方法存储/检索 Serializable/Externalizable 对象。
根据对象中使用的设计模式,我们可以区分标准(静态)或动态。建议维护接口类名后缀为 MBean。
MXBean:
仅引用一组预定义的类型。建议维护接口类名后缀为 MXBean。实现动态或自定义JavaBean 的接口。
使用 MXBean,我们可以方便任何客户端使用 MBean。使用 MXBean 所需的其他详细信息。
MBeans
可以是任何 java 对象,我们可以在其中Serializable/Externalizable
使用方法存储/检索对象。根据对象中使用的设计模式,我们可以区分标准(静态)或动态。建议维护Interface类名后缀为MBean
MXBeans
仅引用一组预定义的类型。建议维护接口类名后缀为MXBean
. 实现 Dynamic 或 cusotmized 的接口JavaBean
。使用 MXBean,我们可以方便任何客户端使用 MBean。