javax.management.modelmbean

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » management » javax.management.modelmbean 
javax.management.modelmbean
javax.management.modelmbean package

Provides the definition of the ModelMBean classes. A Model MBean is an MBean that acts as a bridge between the management interface and the underlying managed resource. Both the management interface and the managed resource are specified as Java objects. The same Model MBean implementation can be reused many times with different management interfaces and managed resources, and it can provide common functionality such as persistence and caching.

A Model MBean implements the {@link javax.management.modelmbean.ModelMBean ModelMBean} interface. It is a {@link javax.management.DynamicMBean DynamicMBean} whose {@link javax.management.DynamicMBean#getMBeanInfo() getMBeanInfo} method returns an object implementing {@link javax.management.modelmbean.ModelMBeanInfo ModelMBeanInfo}.

Every MBean has an {@link javax.management.MBeanInfo MBeanInfo} with information about the MBean itself, and its attributes, operations, constructors, and notifications. A Model MBean augments this MBeanInfo with {@link javax.management.Descriptor Descriptor}s that encode additional information in the form of (key,value) pairs. Usually, Descriptors are instances of {@link javax.management.modelmbean.DescriptorSupport DescriptorSupport}.

The class {@link javax.management.modelmbean.RequiredModelMBean RequiredModelMBean} provides a standard Model MBean implementation.

The following example shows a Model MBean being used to make the get method of a HashMap available for management through an MBean server. No other methods are available through the MBean server. There is nothing special about HashMap here. Public methods from any public class can be exposed for management in the same way.

import java.lang.reflect.Method;
import java.util.HashMap;
import javax.management.*;
import javax.management.modelmbean.*;

// ...

MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// The MBean Server

HashMap map = new HashMap();
// The resource that will be managed

// Construct the management interface for the Model MBean
Method getMethod = HashMap.class.getMethod("get", new Class[] {Object.class});
ModelMBeanOperationInfo getInfo =
    new ModelMBeanOperationInfo("Get value for key", getMethod);
ModelMBeanInfo mmbi =
    new ModelMBeanInfoSupport(HashMap.class.getName(),
			      "Map of keys and values",
			      null,  // no attributes
			      null,  // no constructors
			      new ModelMBeanOperationInfo[] {getInfo},
			      null); // no notifications

// Make the Model MBean and link it to the resource
ModelMBean mmb = new RequiredModelMBean(mmbi);
mmb.setManagedResource(map, "ObjectReference");

// Register the Model MBean in the MBean Server
ObjectName mapName = new ObjectName(":type=Map,name=whatever");
mbs.registerMBean(mmb, mapName);

// Resource can evolve independently of the MBean
map.put("key", "value");

// Can access the "get" method through the MBean Server
mbs.invoke(mapName, "get", new Object[] {"key"}, new String[] {Object.class.getName()});
// returns "value"
    

Package Specification

@since 1.5
Java Source File NameTypeComment
DescriptorSupport.javaClass This class represents the metadata set for a ModelMBean element.
InvalidTargetObjectTypeException.javaClass Exception thrown when an invalid target object type is specified.
ModelMBean.javaInterface This interface must be implemented by the ModelMBeans.
ModelMBeanAttributeInfo.javaClass The ModelMBeanAttributeInfo object describes an attribute of the ModelMBean. It is a subclass of MBeanAttributeInfo with the addition of an associated Descriptor and an implementation of the DescriptorAccess interface.

The fields in the descriptor are defined, but not limited to, the following:

 name           : attribute name
 descriptorType : must be "attribute"
 value          : current value for attribute
 default        : default value for attribute
 displayName    : name of attribute to be used in displays
 getMethod      : name of operation descriptor for get method
 setMethod      : name of operation descriptor for set method
 protocolMap    : object which implements the Descriptor interface: mappings
 must be appropriate for the attribute
 and entries can be updated or augmented at runtime.
 persistPolicy  : OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never
 persistPeriod  : seconds - frequency of persist cycle.
ModelMBeanConstructorInfo.javaClass The ModelMBeanConstructorInfo object describes a constructor of the ModelMBean. It is a subclass of MBeanConstructorInfo with the addition of an associated Descriptor and an implementation of the DescriptorAccess interface.

 The fields in the descriptor are defined, but not limited to, the following: 

name : constructor name descriptorType : must be "operation" role : must be "constructor" displayName : human readable name of constructor visibility : 1-4 where 1: always visible 4: rarely visible presentationString : xml formatted string to describe how to present operation

The persistPolicy and currencyTimeLimit fields are meaningless for constructors, but are not considered invalid.

The default descriptor will have the name , descriptorType , displayName and role fields.

ModelMBeanInfo.javaInterface This interface is implemented by the ModelMBeanInfo for every ModelMBean.
ModelMBeanInfoSupport.javaClass This class represents the meta data for ModelMBeans.
ModelMBeanNotificationBroadcaster.javaInterface This interface must be implemented by the ModelMBeans.
ModelMBeanNotificationInfo.javaClass The ModelMBeanNotificationInfo object describes a notification emitted by a ModelMBean. It is a subclass of MBeanNotificationInfo with the addition of an associated Descriptor and an implementation of the Descriptor interface.

The fields in the descriptor are defined, but not limited to, the following:

 name           : notification name
 descriptorType : must be "notification"
 severity       : 0-6 where 0: unknown; 1: non-recoverable;
 2: critical, failure; 3: major, severe;
 4: minor, marginal, error; 5: warning;
 6: normal, cleared, informative
 messageID      : unique key for message text (to allow translation,
 analysis)
 messageText    : text of notification
 log            : T - log message F - do not log message
 logfile        : string fully qualified file name appropriate for
 operating system
 visibility     : 1-4 where 1: always visible 4: rarely visible
 presentationString : xml formatted string to allow presentation of data
 
The default descriptor contains the name, descriptorType, displayName and severity(=6) fields.
ModelMBeanOperationInfo.javaClass The ModelMBeanOperationInfo object describes a management operation of the ModelMBean. It is a subclass of MBeanOperationInfo with the addition of an associated Descriptor and an implementation of the DescriptorAccess interface.

 The fields in the descriptor are defined, but not limited to, the following:
 name           : operation name
 descriptorType : must be "operation"
 class          : class where method is defined (fully qualified)
 role           : must be "operation", "getter", or "setter
 targetObject   : object on which to execute this method
 targetType     : type of object reference for targetObject.
RequiredModelMBean.javaClass This class is the implementation of a ModelMBean.
XMLParseException.javaClass This exception is thrown when an XML formatted string is being parsed into ModelMBean objects or when XML formatted strings are being created from ModelMBean objects.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.