|
The Java objects that implement resources and their
instrumentation are called managed beans. MBeans must follow the
interfaces defined in the JMX specification (JSR 3) and design patterns. This
ensures that all MBeans provide the instrumentation of managed resources in a
standardized way.
The instrumentation of a given resource is provided by one or
more MBeans by standard or dynamic way. Standard MBeans are Java
objects that conform to certain design patterns derived from the JavaBeansTM
component model and Dynamic MBeans conform to specific interface which offers more
flexibility at runtime.
The instrumentation of a resource allows it to be manageable
through the agent level. MBeans do not require knowledge of the JMX agent with
which they operate.
MBeans are designed to be flexible and easy to
implement. without having to understand or invest in
complex management systems developers of applications, services, or devices can make their
products manageable in a standard way. Existing objects can easily be evolved to produce
standard MBeans or wrapped as dynamic MBeans, thus with minimum effort existing resources
managed.
The instrumentation level also specifies a
notification mechanism. This allows MBeans to generate
notification events to components of the other levels.
The management interface of an MBean consists of:
- Named and typed attributes that can be read-write both
- Named and typed operations that can be invoked
- Typed notifications that can be emitted by the MBean
The Java class of a standard MBean exposes the resource to be
managed directly through its operation and attributes. Attributes are basically internal
entities that are exposed through getter and setter methods. Operations are the
special methods of the class that are available to managers.
Through
introspection all these methods are defined statically in the MBean interface and are visible to a JMX agent.
This is the most straightforward way of making a new resource
manageable.
A dynamic MBean is an MBean which define management
interface at runtime. e.g. a configuration MBean could determine the
names and types of the attributes it exposes by parsing an XML file.
|