JMX's instrumentation level provides standards for implementing JMX manageable resources. The instrumentation of a given manageable resource is provided by one or more Managed Beans, or MBeans (previously written m-beans). An MBean is a Java object that conforms to certain design patterns for exposing attributes and operations. These attributes and operations enable any Java Dynamic Management agent to recognize and manage the MBean. The design patterns for MBeans give the developer explicit control over how a resource, device or application will be managed. For example, attribute patterns enable you to make the distinction between a read-only and a read-write property in an MBean. The set of all attributes and operations exposed to management through the design patterns is called the management interface of an MBean. Any object that you want to make accessible through the MBean server must be represented as an MBean, including the resources you want an agent to manage, and any services that you want to provide to manage these resources. MBeans can both generate and propagate notification events to remote management applications. For more information regarding managing MBeans remotely, please refer to "Proxy MBeans" and Figure 1-5. MBeans must be developed according to the rules specified by Java Management extensions (JMX).
The JMX architecture enables you to carry out certain operations on a particular agent, by going through that agent's MBean server. These operations are as follows:
Listing MBeans.
Enabling MBean attributes to be accessed both locally and remotely.
Enabling new MBeans to be instantiated and registered both locally and remotely.
Performing operations defined by the MBeans.
Receiving notifications emitted by MBeans.
Allowing you to develop a generic manager.
Providing a view of the MBean through a specific protocol.
You can manage a new MBean as soon as it is registered within the MBean server. An MBean can be created and registered by:
MBeans can also be downloaded from a Web server and plugged into an agent at any time, in response to a demand from the management application. This is called dynamic class loading and means that future services and applications can be loaded on-the-fly and without downtime once they have been deployed on the network. For example, dynamic class loading can be used to provide rapid, low-cost delivery of end-user applications across very large bases of Java technology-enabled devices, such as desktop PC's or Web phones.
The management services supplied with the Java Dynamic Management Kit
are implemented as MBeans. You can also write the MBeans representing objects
you wish to manage. These objects could include the actual resources you want
to manage and the value-added services provided to help manage resources.
The Java Dynamic Management Kit 4.1 does not impose any restrictions on where compiled
MBean classes are stored. They can be stored at any location specified in
the CLASSPATH
environment variable
of the agent, or at a remote site.
You can develop two types of MBeans:
Standard MBeans.
Dynamic MBeans.