Version 5

    MANAGED BEANS OR MBEANS

     

    An MBean is a Java object that implements one of the standard MBean interfaces and follows the associated design patterns. The MBean for a resource exposes all necessary information and operations that a management application needs to control the resource.

     

    The scope of the management interface of an MBean includes the following:

    • Attributes values that may be accessed by name

    • Operations or functions that may be invoked

    • Notifications or events that may be emitted

    • The constructors for the MBean�s Java class

     

    JMX defines four types of MBeans to support different instrumentation needs:

    • StandardMBeans These use a simple JavaBean style naming convention and a statically defined  management interface. This is currently the most common type of MBean used by JBoss.

    • DynamicMBeans These must implement the javax.management. DynamicMBean interface, and they expose their management interface at runtime when the component is instantiated for the greatest flexibility. JBoss makes use of Dynamic MBeans in circumstances where the components to be managed are not known until runtime.

    • OpenMBeans These are an extension of dynamic MBeans. Open MBeans rely on basic, selfdescribing, user-friendly data types for universal manageability. JBoss 3.0.6+ and 3.2+ implement  the JMX 1.1 OpenMBeans.

    • ModelMBeans These are also an extension of dynamic MBeans. Model MBeans must implement the javax.management.modelmbean.ModelMBean interface. Model MBeans simplify the  instrumentation of resources by providing default behavior. Although JBoss does not use any Model MBeans for its core services as of the 3.2.0 release, there is a Model MBean implementation known as an XMBean. We will present an example of a Standard and a Model MBean in the section that discusses extending JBoss with your own custom services.