MBean和MXBean之间的区别

时间:2013-04-29 09:25:36

标签: java jmx mbeans

关于 MBean MXBean ,我有以下问题:

  1. MBean MXBean 有什么区别?
  2. MBean MXBean 的用例是什么?

4 个答案:

答案 0 :(得分:45)

MXBean只是一种特殊的MBean。主要区别在于MXBean限制数据类型,以便它们与潜在客户“更兼容”。

例如:MBean可以公开数据类型Foo的属性。现在,客户端还需要使用此类型Foo来理解属性。

MXBean尝试将数据类型限制为“已经可用” - java.lang.*等。

请参阅this tutorial

答案 1 :(得分:14)

MXBean是一个MBean,它被约束为开放类型,基本上是原始类型,字符串及其组合。由于这些限制,MXBean可以在没有类加载的情况下使用,这使得它们即使与非Java客户端也可以互操作。您可以在此处找到规范:http://docs.oracle.com/javase/7/docs/api/javax/management/package-summary.html#package_description

答案 2 :(得分:4)

MBeans可以是任何java对象,我们可以使用方法存储/检索Serializable/Externalizable个对象。根据对象中使用的设计模式,我们可以区分标准(静态)或动态。建议维护以MBean

为后缀的Interface类名

MXBeans仅引用预定义的一组类型。建议维护接口类名称后跟MXBean。实现Dynamic或cusotmized JavaBean的接口。使用MXBean,我们可以促进任何客户端使用MBean。

参考MBean vs MXBean

答案 3 :(得分:4)

MBeans:

可以是任何java对象,我们可以使用方法存储/检索Serializable / Externalizable对象。

根据对象中使用的设计模式,我们可以区分标准(静态)或动态。建议维护接口类名称后缀为MBean。

MXBeans:

仅引用预定义的一组类型。建议维护以MXBean为后缀的Interface类名。实现Dynamic或自定义JavaBean的接口。

使用MXBean,我们可以帮助任何客户端使用MBean。使用MXBean所需的其他详细信息。

Refer Here