Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.management.oss.impl.factory.measurement
Class JmxJVTPerformanceMonitorSession

    java.lang.Object
      javax.management.NotificationBroadcasterSupport
          com.sun.management.oss.impl.factory.measurement.JmxJVTPerformanceMonitorSession

All Implemented Interfaces:
  javax.management.DynamicMBean, java.util.EventListener, JVTPerformanceMonitorSession, JVTSession, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, javax.management.NotificationListener

public class JmxJVTPerformanceMonitorSession
extends javax.management.NotificationBroadcasterSupport
implements JVTPerformanceMonitorSession, javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.NotificationListener

The class `JmxJVTPerformanceMonitorSession` implements the `JVTPerformanceMonitorSession` interface. It is a JMX dynamic MBean that is a factory of PerformanceMonitorJob objects (Measurement jobs) that interact with observable objects of a data model whose interface is implemented with a `PerformanceGenericModel` object. This implementation object is passed at construction time of the factory, as a parameter of the constructor.

For a better understanding of what this factory is able to do, please first of all refer to the `com.sun.management.oss.pm.measurement.JVTPerformanceMonitorSession` description page and read at least the main description and the `createPerformanceMonitorByValue()` method description.

Here after we explain what are the characteristics specific to this implementation of the `JVTPerformanceMonitorSession` interface:

Job types:
This implementation supports both possible types of jobs: `PerformanceMonitorByObjectsValue.VALUE_TYPE` ('by objects') jobs and `PerformanceMonitorByClassesValue.VALUE_TYPE` ('by classes') jobs.

Once created, the jobs are entities that live forever regardless of the availability of the underlying objects they care about. Only an order of deletion can remove a job.

For creating a 'by objects' job, you provide the factory with list of the ObjectName of the objects you want to create a measurement job on. For creating a 'by classes' job, you provide the factory with the list of classes you want to care about. A 'by classes' job listens to MBeans registration/unregistration events. If the event is about an object of a class the job handles, the job adds/removes this object from the object instance list he cares about.

Job report modes:
The jobs managed by this factory are able to run in both possible report modes: 'by event' mode and 'by file' mode. Each job may use only one or both of the possible report modes (at least one mode is mandatory). Supported 'by event' mode is `ReportMode.EVENT_SINGLE` and supported 'by file' mode is `ReportMode.FILE_SINGLE` as far as report modes are concerned (`ReportMode.FILE_MULTIPLE` and `ReportMode.EVENT_MULTIPLE` are not supported by this implementation). Thus, each generated report (included in a file or an event) is only refering to one single job, whereas included data may be data regarding many sampling time.

For a `PerformanceMonitorByClassesValue.VALUE_TYPE` ('by classes') job, if no instance of any of the classes he cares about is present, no file report will be generated and no event will be sent until one proper object is available (registered in the JMX server).

Job report format:
There is only one report format supported by this factory. This format is defined like this:

- type: XML
- owner: Sun microsystems
- technology: MF_OSSJ
- specification:perf.dtd
- version: 1.0

If you want details about this format specification, please refer to the document: FormatReport-0.7.sxw.

Job report period:
The report period is a factor that is used to know how many sampling periods (defined by the job granularity) the job must wait before generating an event (if the job is a 'by event' one) containing the report(s), or before generating an event (if the job is a 'by file' one) containing the file report url(s). For instance, if the granularity period of a job is 30 seconds and the job is a 'by event' as well a a 'by file' one and the report period is set to 2: sampling will occur every 30 seconds and every minutes, an event will be fired containing 2 reports (the 'by event' event) and at the same time, another event (the 'by file' one) will be fired and will contain 2 urls pointing to the 2 file reports that have been generated (these files contain the same data than the 2 embedded reports in the 'by event' event). If the report period is set to 1, events are generated as often as the sampling occurs and events ('by event' and 'by file' ones) contain data related to only one sampling.

Job file reports:
Whatever the report period of a 'by file' job is, there is one file generated for each sample the job took at each granularity period start. The path to the generated measurement reports is defined by a property you can find at the `com.sun.management.oss.impl.tools.CmsConfig` description page. The report files respect a naming convention that is briefly described here after:
B<sampling_period_start_time>-<sampling_period_end_time>_<originator_job_primary_key>_<originator_job_name>.xml
Date format for <sampling_period_start_time> and <sampling_period_end_time>: yyyyMMdd.HHmmss
Here is a valid report file name example:
B20040514.133005-20040514.133010_8320c443819db375019ea173d228993b_MeasurementCIBAplication.xml

This file name format is inspired from the 3GPP TS 32.401 V5.1.0 (2002-09) specification.

The 'by file' mode of the jobs has a life time feature. That is, it is possible to have the generated file reports being automatically deleted after a certain amount of hours (it is also possible to have these reports never deleted). For setting the report life time of the file reports, please refer to the `com.sun.management.oss.impl.tools.CmsConfig` description page.

Optional methods:
All the optional methods of the `JVTPerformanceMonitorSession` interface are implemented in this implementation:

- `JVTPerformanceMonitorSessionOptionalOpt.GET_CURRENT_RESULT_REPORT`
- `JVTPerformanceMonitorSessionOptionalOpt.RESUME_PERFORMANCE_MONITOR_BY_KEY`
- `JVTPerformanceMonitorSessionOptionalOpt.SUSPEND_PERFORMANCE_MONITOR_BY_KEY`
- `JVTPerformanceMonitorSessionOptionalOpt.TRY_CREATE_PERFORMANCE_MONITORS_BY_VALUES`
- `JVTPerformanceMonitorSessionOptionalOpt.TRY_REMOVE_PERFORMANCE_MONITORS_BY_KEYS`
- `JVTPerformanceMonitorSessionOptionalOpt.TRY_RESUME_PERFORMANCE_MONITORS_BY_KEYS`
- `JVTPerformanceMonitorSessionOptionalOpt.TRY_SUSPEND_PERFORMANCE_MONITORS_BY_KEYS`

Job queries:
This implementation supports both `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE` query types.

Job naming:
The name of a job is not a mandatory parameter to provide at job creation time. However, if a name is provided, it has to be unique in the context of the factory instance. If no name is provided, the name of the job will be affected the same value as the primary key computed for the job. Thus, a job has always a name, and the names of the jobs are unique.

Job granularities:
Regarding the possible granularities used for the jobs, any strictly positive value is accepted (no limitation): the `getSupportedGranularities()` method is implemented but is useless as other values returned by this method may be valid.

Copyright (c) 2001 Ericsson
Copyright (c) 2004 Sun microsystems

Version:
  1.0
Author:
  Andreas Jirven, Anna Eriksson, Ali Feizabadi, Hooman Tahamtani, Katarina Wahlstr?m, Mathieu Rossignol
See Also:
  `JVTPerformanceMonitorSession`

Field Summary
`static java.util.logging.Logger` | `logger` One log for the whole session.
`static java.util.Properties` | `properties` Hold the values from the properties that are given at constructor time.

Fields inherited from interface com.sun.management.oss.pm.measurement.JVTPerformanceMonitorSession
`OSS_QOS_VERSION_R1`

Constructor Summary
`JmxJVTPerformanceMonitorSession()` Constructor for the JmxJVTPerformanceMonitorSession object.

Method Summary
`PerformanceMonitorKey` | `createPerformanceMonitorByValue(PerformanceMonitorValue pmValue)` See `JVTPerformanceMonitorSession.createPerformanceMonitorByValue(PerformanceMonitorValue pmValue)`.
`java.lang.Object` | `getAttribute(java.lang.String attribute_name)` See javax.management.DynamicMBean.getAttribute(String attribute_name)
`javax.management.AttributeList` | `getAttributes(java.lang.String[] attributeNames)` See javax.management.DynamicMBean.getAttributes(String[] attributeNames)
`ReportFormat` | `getCurrentReportFormat()` See `JVTPerformanceMonitorSession.getCurrentReportFormat()`.
`CurrentResultReport` | `getCurrentResultReport(PerformanceMonitorKey pmKey, ReportFormat format)` See `JVTPerformanceMonitorSession.getCurrentResultReport(PerformanceMonitorKey pmKey, ReportFormat format)`.
`EventPropertyDescriptor` | `getEventDescriptor(java.lang.String eventType)` See `JVTSession.getEventDescriptor(String eventType)`.
`java.lang.String[]` | `getEventTypes()` See `JVTSession.getEventTypes()`.
`com.sun.management.oss.impl.job.measurement.PerformanceMonitorJob` | `getJob(java.lang.String key)` Get a job from the job list.
`java.util.Enumeration` | `getJobs()` Get all jobs from the job list.
`java.lang.String[]` | `getManagedEntityTypes()` See `JVTSession.getManagedEntityTypes()`.
`javax.management.MBeanInfo` | `getMBeanInfo()` See javax.management.DynamicMBean.getMBeanInfo()
`javax.management.MBeanNotificationInfo[]` | `getNotificationInfo()` Get informatrion about the notification sent by this factory.
`PerformanceAttributeDescriptor[]` | `getObservableAttributes(java.lang.String observableObjectClassName)` See `JVTPerformanceMonitorSession.getObservableAttributes(String observableObjectClassName)`.
`ObservableObjectClassIterator` | `getObservableObjectClasses()` See `JVTPerformanceMonitorSession.getObservableObjectClasses()`.
`ObservableObjectIterator` | `getObservableObjects(java.lang.String observableObjectClassName, javax.management.ObjectName base)` See `JVTPerformanceMonitorSession.getObservableObjects(String observableObjectClassName, String base)`.
`PerformanceMonitorValue` | `getPerformanceMonitorByKey(PerformanceMonitorKey pmKey, java.lang.String[] attributes)` See `JVTPerformanceMonitorSession.getPerformanceMonitorByKey(PerformanceMonitorKey pmKey, String[] attributes)`.
`PerformanceMonitorValueIterator` | `getPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKey, java.lang.String[] attributes)` See `JVTPerformanceMonitorSession.getPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKey, String[] attributes)`.
`ReportInfoIterator` | `getPerformanceReportInfo(PerformanceMonitorKey pmKey, java.util.Calendar date)` See `JVTPerformanceMonitorSession.getPerformanceReportInfo(PerformanceMonitorKey pmKey, java.util.Calendar date)`.
`java.lang.String[]` | `getQueryTypes()` See `JVTSession.getQueryTypes()`.
`ReportFormat[]` | `getReportFormats()` See `JVTPerformanceMonitorSession.getReportFormats()`.
`int[]` | `getReportModes()` See `JVTPerformanceMonitorSession.getReportModes()`.
`int[]` | `getSupportedGranularities(PerformanceMonitorValue pmValue)` Deprecated. This method is implemented, but useless as any positive integer value will work as far as the granularity period is concerned: we do not want to limit possibilities.
`javax.management.ObjectName[]` | `getSupportedObservableObjects(javax.management.ObjectName[] dnList)` See `JVTPerformanceMonitorSession.getSupportedObservableObjects(ObjectName[] dnList)`.
`java.lang.String[]` | `getSupportedOptionalOperations()` See `JVTSession.getSupportedOptionalOperations()`.
`java.lang.String[]` | `getVersion()` See `JVTPerformanceMonitorSession.getVersion()`.
`void` | `handleNotification(javax.management.Notification notification, java.lang.Object handback)` Get the Jobs' events and forward them to interested clients
`java.lang.Object` | `invoke(java.lang.String operationName, java.lang.Object[] params, java.lang.String[] signature)` See javax.management.DynamicMBean.invoke(String operationName, Object[] params, String[] signature)
`ManagedEntityValue` | `makeManagedEntityValue(java.lang.String valueType)` See `JVTSession.makeManagedEntityValue(String valueType)`.
`PerformanceMonitorValue` | `makePerformanceMonitorValue(java.lang.String value)` See `JVTPerformanceMonitorSession.makePerformanceMonitorValue(String value)`.
`QueryValue` | `makeQueryValue(java.lang.String type)` See `JVTSession.makeQueryValue(String type)`.
`void` | `postDeregister()` See javax.management.MBeanRegistration.postDeregister()
`void` | `postRegister(java.lang.Boolean registrationDone)` See javax.management.MBeanRegistration.postRegister(Boolean registrationDone)
`void` | `preDeregister()` See javax.management.MBeanRegistration.preDeregister()
`javax.management.ObjectName` | `preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)` Allows the MBean to perform any operations it needs before being registered in the MBean server.
`void` | `putJob(java.lang.String key, com.sun.management.oss.impl.job.measurement.PerformanceMonitorJob aPerformanceMonitorJob)` Put a job in the job list.
`ManagedEntityValueIterator` | `queryManagedEntities(QueryValue query, java.lang.String[] attrNames)` See `JVTSession.queryManagedEntities(QueryValue query, String[] attrNames)`.
`PerformanceMonitorValueIterator` | `queryPerformanceMonitors(QueryValue query, java.lang.String[] attrNames)` See `JVTPerformanceMonitorSession.queryPerformanceMonitors(QueryValue query , String[] attrNames)`.
`void` | `removeJob(java.lang.String key)` Remove a job from the job list.
`void` | `removePerformanceMonitorByKey(PerformanceMonitorKey pmKey)` See `JVTPerformanceMonitorSession.removePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.
`void` | `resumePerformanceMonitorByKey(PerformanceMonitorKey pmKey)` See `JVTPerformanceMonitorSession.resumePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.
`void` | `setAttribute(javax.management.Attribute attribute)` See javax.management.DynamicMBean.setAttribute(Attribute attribute)
`javax.management.AttributeList` | `setAttributes(javax.management.AttributeList attributes)` See javax.management.DynamicMBean.setAttributes(AttributeList attributes)
`void` | `suspendPerformanceMonitorByKey(PerformanceMonitorKey pmKey)` See `JVTPerformanceMonitorSession.suspendPerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.
`PerformanceMonitorKeyResult[]` | `tryCreatePerformanceMonitorsByValues(PerformanceMonitorValue[] pmValues)` See `JVTPerformanceMonitorSession.tryCreatePerformanceMonitorsByValues(PerformanceMonitorValue[] pmValues)`.
`PerformanceMonitorKeyResult[]` | `tryRemovePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)` See `JVTPerformanceMonitorSession.tryRemovePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.
`PerformanceMonitorKeyResult[]` | `tryResumePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)` See `JVTPerformanceMonitorSession.tryResumePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.
`PerformanceMonitorKeyResult[]` | `trySuspendPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)` See `JVTPerformanceMonitorSession.trySuspendPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.

Methods inherited from class javax.management.NotificationBroadcasterSupport
`addNotificationListener, removeNotificationListener, removeNotificationListener, sendNotification`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    public static java.util.logging.Logger logger

  One log for the whole session.

### properties

    public static java.util.Properties properties

  Hold the values from the properties that are given at constructor time.

Constructor Detail

### JmxJVTPerformanceMonitorSession

    public JmxJVTPerformanceMonitorSession()

  Constructor for the JmxJVTPerformanceMonitorSession object.

Method Detail

### getManagedEntityTypes

    public java.lang.String[] getManagedEntityTypes()

  See `JVTSession.getManagedEntityTypes()`.

  This implementation supports both `PerformanceMonitorByObjectsValue.VALUE_TYPE` and `PerformanceMonitorByClassesValue.VALUE_TYPE` job types.

  Specified by:
    `getManagedEntityTypes` in interface `JVTSession`
  Returns:
    A String array containing `PerformanceMonitorByObjectsValue.VALUE_TYPE` and `PerformanceMonitorByClassesValue.VALUE_TYPE`.
  See Also:
    `JVTSession.getManagedEntityTypes()`

### getVersion

    public java.lang.String[] getVersion()

  See `JVTPerformanceMonitorSession.getVersion()`.

  Specified by:
    `getVersion` in interface `JVTPerformanceMonitorSession`
  Returns:
    The version number and description.
  See Also:
    `JVTPerformanceMonitorSession.getVersion()`

### getSupportedOptionalOperations

    public java.lang.String[] getSupportedOptionalOperations()

  See `JVTSession.getSupportedOptionalOperations()`.

  This implementation supports every optional operations:

  - `JVTPerformanceMonitorSessionOptionalOpt.GET_CURRENT_RESULT_REPORT`
  - `JVTPerformanceMonitorSessionOptionalOpt.RESUME_PERFORMANCE_MONITOR_BY_KEY`
  - `JVTPerformanceMonitorSessionOptionalOpt.SUSPEND_PERFORMANCE_MONITOR_BY_KEY`
  - `JVTPerformanceMonitorSessionOptionalOpt.TRY_CREATE_PERFORMANCE_MONITORS_BY_VALUES`
  - `JVTPerformanceMonitorSessionOptionalOpt.TRY_REMOVE_PERFORMANCE_MONITORS_BY_KEYS`
  - `JVTPerformanceMonitorSessionOptionalOpt.TRY_RESUME_PERFORMANCE_MONITORS_BY_KEYS`
  - `JVTPerformanceMonitorSessionOptionalOpt.TRY_SUSPEND_PERFORMANCE_MONITORS_BY_KEYS`

  Specified by:
    `getSupportedOptionalOperations` in interface `JVTSession`
  Returns:
    A String array containing `JVTPerformanceMonitorSessionOptionalOpt.GET_CURRENT_RESULT_REPORT`, `JVTPerformanceMonitorSessionOptionalOpt.RESUME_PERFORMANCE_MONITOR_BY_KEY`, `JVTPerformanceMonitorSessionOptionalOpt.SUSPEND_PERFORMANCE_MONITOR_BY_KEY`, `JVTPerformanceMonitorSessionOptionalOpt.TRY_CREATE_PERFORMANCE_MONITORS_BY_VALUES`, `JVTPerformanceMonitorSessionOptionalOpt.TRY_REMOVE_PERFORMANCE_MONITORS_BY_KEYS`, `JVTPerformanceMonitorSessionOptionalOpt.TRY_RESUME_PERFORMANCE_MONITORS_BY_KEYS`, `JVTPerformanceMonitorSessionOptionalOpt.TRY_SUSPEND_PERFORMANCE_MONITORS_BY_KEYS`.
  See Also:
    `JVTSession.getSupportedOptionalOperations()`

### getEventTypes

    public java.lang.String[] getEventTypes()

  See `JVTSession.getEventTypes()`.

  This implementation supports both `PerformanceDataEventDescriptor.OSS_EVENT_TYPE_VALUE` and `PerformanceDataEventDescriptor.OSS_EVENT_TYPE_VALUE` event types.

  Specified by:
    `getEventTypes` in interface `JVTSession`
  Returns:
    A String array containing `PerformanceDataEventDescriptor.OSS_EVENT_TYPE_VALUE` and `PerformanceDataEventDescriptor.OSS_EVENT_TYPE_VALUE`.
  See Also:
    `JVTSession.getEventTypes()`

### getEventDescriptor

    public EventPropertyDescriptor getEventDescriptor(java.lang.String eventType)
                                               throws java.lang.IllegalArgumentException

  See `JVTSession.getEventDescriptor(String eventType)`.

  Specified by:
    `getEventDescriptor` in interface `JVTSession`
  Parameters:
    `eventType` - Fully qualified name of the leaf node Event interface. It can be:
    - PerformanceDataEvent
    - PerformanceDataAvailableEvent
  Returns:
    EventPropertyDescriptor which can be used to discover the filterable properties of the specified event type.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTSession.getEventDescriptor(String eventType)`

### makePerformanceMonitorValue

    public PerformanceMonitorValue makePerformanceMonitorValue(java.lang.String value)
                                                        throws java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.makePerformanceMonitorValue(String value)`.

  Specified by:
    `makePerformanceMonitorValue` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `value` - The name of one of the supported value types that are returned by `getManagedEntityTypes()`.
  Returns:
    The created PerformanceMonitorValue object. The value object is empty.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.makePerformanceMonitorValue(String value)`

### getQueryTypes

    public java.lang.String[] getQueryTypes()

  See `JVTSession.getQueryTypes()`.

  This implementation supports both `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE` query types.

  Specified by:
    `getQueryTypes` in interface `JVTSession`
  Returns:
    String array which contains the fully qualified names of the leaf node interfaces representing the supported query value types, i.e., interfaces which extend QueryValue: `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE`.
  See Also:
    `JVTSession.getQueryTypes()`

### makeQueryValue

    public QueryValue makeQueryValue(java.lang.String type)
                              throws java.lang.IllegalArgumentException

  See `JVTSession.makeQueryValue(String type)`.

  This implementation supports both `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE` query types.

  Specified by:
    `makeQueryValue` in interface `JVTSession`
  Parameters:
    `type` - Fully qualified name of the leaf node QueryValue interface. It can be:
    - QueryByDNValue
    - QueryPerformanceMonitorValue
  Returns:
    QueryValue object of the specified type.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTSession.makeQueryValue(String type)`

### getReportFormats

    public ReportFormat[] getReportFormats()

  See `JVTPerformanceMonitorSession.getReportFormats()`.

  Currently only one report format is supported by this implementation. See the top description of this page for futher information.

  Specified by:
    `getReportFormats` in interface `JVTPerformanceMonitorSession`
  Returns:
    List of supported measurement result formats.
  See Also:
    `JVTPerformanceMonitorSession.getReportFormats()`

### getCurrentReportFormat

    public ReportFormat getCurrentReportFormat()

  See `JVTPerformanceMonitorSession.getCurrentReportFormat()`.

  Currently only one report format is supported by this implementation. See the top description of this page for futher information.

  Specified by:
    `getCurrentReportFormat` in interface `JVTPerformanceMonitorSession`
  Returns:
    List of supported measurement result formats.
  See Also:
    `JVTPerformanceMonitorSession.getCurrentReportFormat()`

### getReportModes

    public int[] getReportModes()

  See `JVTPerformanceMonitorSession.getReportModes()`.

  This implementation supports both `ReportMode.EVENT_SINGLE` and `ReportMode.FILE_SINGLE` modes.

  Specified by:
    `getReportModes` in interface `JVTPerformanceMonitorSession`
  Returns:
    List of supported report modes containing values `ReportMode.EVENT_SINGLE` and `ReportMode.FILE_SINGLE`.
  See Also:
    `JVTPerformanceMonitorSession.getReportModes()`

### getObservableObjectClasses

    public ObservableObjectClassIterator getObservableObjectClasses()

  See `JVTPerformanceMonitorSession.getObservableObjectClasses()`.

  The returned classes depend on the `PerformanceGenericModel` implentation object the factory is using.

  Specified by:
    `getObservableObjectClasses` in interface `JVTPerformanceMonitorSession`
  Returns:
    Iterator that contains all supported observable object classes.
  See Also:
    `JVTPerformanceMonitorSession.getObservableObjectClasses()`

### getObservableObjects

    public ObservableObjectIterator getObservableObjects(java.lang.String observableObjectClassName,
                                                         javax.management.ObjectName base)
                                                  throws java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.getObservableObjects(String observableObjectClassName, String base)`.

  The returned observable objects depend on the `PerformanceGenericModel` implentation object the factory is using.

  Specified by:
    `getObservableObjects` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `observableObjectClassName` - The Java class name (including the package name) of the class whose objects are to be considered.
    `base` - The JMX pattern under which the objects are to be considered.
  Returns:
    Iterator that contains all supported observable objects.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.getObservableObjects(String observableObjectClassName, ObjectName base)`

### getSupportedObservableObjects

    public javax.management.ObjectName[] getSupportedObservableObjects(javax.management.ObjectName[] dnList)

  See `JVTPerformanceMonitorSession.getSupportedObservableObjects(ObjectName[] dnList)`.

  Specified by:
    `getSupportedObservableObjects` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `dnList` - The list of object names you want to know if they are monitorable (i.e: jobs can be created for these objects).
  Returns:
    List of object names for observable objects that can be observed. This list contains a subset of object names included in the `dnList` parameter.
  See Also:
    `JVTPerformanceMonitorSession.getSupportedObservableObjects(ObjectName[] dnList)`

### getObservableAttributes

    public PerformanceAttributeDescriptor[] getObservableAttributes(java.lang.String observableObjectClassName)
                                                             throws java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.getObservableAttributes(String observableObjectClassName)`.

  The returned observable attributes depend on the `PerformanceGenericModel` implentation object the factory is using.

  Specified by:
    `getObservableAttributes` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `observableObjectClassName` - The name of the observable object class we want to get monitorable attributes.
  Returns:
    List of all supported measurement attributes in the observable object class.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.getObservableAttributes(String observableObjectClassName)`

### getSupportedGranularities

    public int[] getSupportedGranularities(PerformanceMonitorValue pmValue)
                                    throws java.lang.IllegalArgumentException

  Deprecated. This method is implemented, but useless as any positive integer value will work as far as the granularity period is concerned: we do not want to limit possibilities.

  See `JVTPerformanceMonitorSession.getSupportedGranularities(PerformanceMonitorValue pmValue)`.

  This method is implemented but is useless, as the current implementation of this factory allow the use any strictly positive value for the job granularity. Thus, there is no restriction regarding the granularity except performance aspects.

  Specified by:
    `getSupportedGranularities` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmValue` - The attributes of the measurement job except the granularity period. Currently, the implementation of this method returns the same values, whatever the chosen job is.
  Returns:
    List of supported granularity periods in seconds.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.getSupportedGranularities(PerformanceMonitorValue pmValue)`

### getPerformanceReportInfo

    public ReportInfoIterator getPerformanceReportInfo(PerformanceMonitorKey pmKey,
                                                       java.util.Calendar date)
                                                throws java.lang.IllegalArgumentException,
                                                       ObjectNotFoundException

  See `JVTPerformanceMonitorSession.getPerformanceReportInfo(PerformanceMonitorKey pmKey, java.util.Calendar date)`.

  Specified by:
    `getPerformanceReportInfo` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - The primary key of a measurement job, that shall be included in the reports.
    `date` - Specifies the minimum creation date for the reports.
  Returns:
    Iterator that contains all measurement result files.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
  See Also:
    `JVTPerformanceMonitorSession.getPerformanceReportInfo(PerformanceMonitorKey pmKey, java.util.Calendar date)`

### getPerformanceMonitorByKey

    public PerformanceMonitorValue getPerformanceMonitorByKey(PerformanceMonitorKey pmKey,
                                                              java.lang.String[] attributes)
                                                       throws ObjectNotFoundException,
                                                              java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.getPerformanceMonitorByKey(PerformanceMonitorKey pmKey, String[] attributes)`.

  Specified by:
    `getPerformanceMonitorByKey` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary key of the measurement job.
    `attributes` - A list of the attributes to be returned.
  Returns:
    The attribute values for the requested measurement job.
  Throws:
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.getPerformanceMonitorByKey(PerformanceMonitorKey pmKey, String[] attributes)`

### getPerformanceMonitorsByKeys

    public PerformanceMonitorValueIterator getPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKey,
                                                                        java.lang.String[] attributes)
                                                                 throws FinderException,
                                                                        java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.getPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKey, String[] attributes)`.

  Specified by:
    `getPerformanceMonitorsByKeys` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary keys of the measurement jobs.
    `attributes` - A list of the attributes to be returned.
  Returns:
    Iterator that contains attribute values for each requested measurement job.
  Throws:
    `FinderException` - Is raised if one or several measurement jobs where not found.
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.getPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKey, String[] attributes)`

### queryPerformanceMonitors

    public PerformanceMonitorValueIterator queryPerformanceMonitors(QueryValue query,
                                                                    java.lang.String[] attrNames)
                                                             throws java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.queryPerformanceMonitors(QueryValue query , String[] attrNames)`.

  This implementation supports both `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE` query types.

  Specified by:
    `queryPerformanceMonitors` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `query` - Search attributes with values to be match in each measurement job.
    `attrNames` - A list of the attributes to be returned.
  Returns:
    An iterator of measurement job values.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if the query type is not supported or the attribute names is not supported.
  See Also:
    `JVTPerformanceMonitorSession.queryPerformanceMonitors(QueryValue query , String[] attrNames)`

### createPerformanceMonitorByValue

    public PerformanceMonitorKey createPerformanceMonitorByValue(PerformanceMonitorValue pmValue)
                                                          throws CreateException,
                                                                 DuplicateKeyException,
                                                                 java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.createPerformanceMonitorByValue(PerformanceMonitorValue pmValue)`.

  See also the top description of this page for the supported parameters you can use in your `PerformanceMonitorValue` object parameter and futher information.

  Specified by:
    `createPerformanceMonitorByValue` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmValue` - The input parameters to create a measurement job.
  Returns:
    The primary key of the created measurement job. Null if the job could not be created for some reason.
  Throws:
    `CreateException` - Is raised if the measurement job could not be created.
    `DuplicateKeyException` - Is raised if a measurement job cannot be created because a measurement job with the same key already exists.
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.createPerformanceMonitorByValue(PerformanceMonitorValue pmValue)`

### tryCreatePerformanceMonitorsByValues

    public PerformanceMonitorKeyResult[] tryCreatePerformanceMonitorsByValues(PerformanceMonitorValue[] pmValues)
                                                                       throws java.lang.IllegalArgumentException,
                                                                              UnsupportedOperationException,
                                                                              DuplicateKeyException

  See `JVTPerformanceMonitorSession.tryCreatePerformanceMonitorsByValues(PerformanceMonitorValue[] pmValues)`.

  Specified by:
    `tryCreatePerformanceMonitorsByValues` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmValues` - The input parameters to create measurement jobs.
  Returns:
    List of result information of the measurement jobs.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `UnsupportedOperationException` - Is raised if this operation is not supported.
    `DuplicateKeyException` - Is raised if an measurement job cannot be created because a measurement job with the same key already exists.
  See Also:
    `JVTPerformanceMonitorSession.tryCreatePerformanceMonitorsByValues(PerformanceMonitorValue[] pmValues)`

### removePerformanceMonitorByKey

    public void removePerformanceMonitorByKey(PerformanceMonitorKey pmKey)
                                       throws java.lang.IllegalArgumentException,
                                              ObjectNotFoundException,
                                              RemoveException

  See `JVTPerformanceMonitorSession.removePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.

  Specified by:
    `removePerformanceMonitorByKey` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary key of the measurement job to be removed.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
    `RemoveException` - Is raied if the measurement job could not be removed.
  See Also:
    `JVTPerformanceMonitorSession.removePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`

### tryRemovePerformanceMonitorsByKeys

    public PerformanceMonitorKeyResult[] tryRemovePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)
                                                                     throws UnsupportedOperationException,
                                                                            java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.tryRemovePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.

  Specified by:
    `tryRemovePerformanceMonitorsByKeys` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKeys` - List of primary keys of the measurement jobs to delete.
  Returns:
    List of measurement jobs that could not be removed else null is returned.
  Throws:
    `UnsupportedOperationException` - Is raised if this operation is not supported.
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.tryRemovePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`

### suspendPerformanceMonitorByKey

    public void suspendPerformanceMonitorByKey(PerformanceMonitorKey pmKey)
                                        throws UnsupportedOperationException,
                                               ObjectNotFoundException,
                                               java.lang.IllegalArgumentException

  See `JVTPerformanceMonitorSession.suspendPerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.

  Specified by:
    `suspendPerformanceMonitorByKey` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary key of the measurement job to be suspended.
  Throws:
    `UnsupportedOperationException` - Is raised if this operation is not supported.
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTPerformanceMonitorSession.suspendPerformanceMonitorByKey(PerformanceMonitorKey pmKey)`

### trySuspendPerformanceMonitorsByKeys

    public PerformanceMonitorKeyResult[] trySuspendPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)
                                                                      throws java.lang.IllegalArgumentException,
                                                                             UnsupportedOperationException

  See `JVTPerformanceMonitorSession.trySuspendPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.

  Specified by:
    `trySuspendPerformanceMonitorsByKeys` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKeys` - List of primary keys of the measurement jobs to be suspended.
  Returns:
    List of measurement jobs that could not be suspended else null is returned.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `UnsupportedOperationException` - Is raised if this operation is not supported.
  See Also:
    `JVTPerformanceMonitorSession.trySuspendPerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`

### resumePerformanceMonitorByKey

    public void resumePerformanceMonitorByKey(PerformanceMonitorKey pmKey)
                                       throws java.lang.IllegalArgumentException,
                                              UnsupportedOperationException,
                                              ObjectNotFoundException

  See `JVTPerformanceMonitorSession.resumePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`.

  Specified by:
    `resumePerformanceMonitorByKey` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary key of the measurement job to be resumed.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `UnsupportedOperationException` - Is raised if this operation is not supported.
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
  See Also:
    `JVTPerformanceMonitorSession.resumePerformanceMonitorByKey(PerformanceMonitorKey pmKey)`

### tryResumePerformanceMonitorsByKeys

    public PerformanceMonitorKeyResult[] tryResumePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)
                                                                     throws java.lang.IllegalArgumentException,
                                                                            UnsupportedOperationException

  See `JVTPerformanceMonitorSession.tryResumePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`.

  Specified by:
    `tryResumePerformanceMonitorsByKeys` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKeys` - List of primary keys of the measurement jobs to be resumed.
  Returns:
    List of measurement jobs that could not be resumed else null is returned.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `UnsupportedOperationException` - Is raised if this operation is not supported.
  See Also:
    `JVTPerformanceMonitorSession.tryResumePerformanceMonitorsByKeys(PerformanceMonitorKey[] pmKeys)`

### getCurrentResultReport

    public CurrentResultReport getCurrentResultReport(PerformanceMonitorKey pmKey,
                                                      ReportFormat format)
                                               throws java.lang.IllegalArgumentException,
                                                      UnsupportedOperationException,
                                                      java.lang.IllegalStateException,
                                                      ObjectNotFoundException

  See `JVTPerformanceMonitorSession.getCurrentResultReport(PerformanceMonitorKey pmKey, ReportFormat format)`.

  This method forces a report generation with immediate data measurement. That means, that if the job is not suspended, a measurement will be done on excactly the same attributes on the same objects/classes the job is caring about. The generated report contains only data for one sampling (one only value for each attribute, one only sampling time).

  Specified by:
    `getCurrentResultReport` in interface `JVTPerformanceMonitorSession`
  Parameters:
    `pmKey` - Primary key of the measurement job.
    `format` - Defines the report format of the current measurement values.
  Returns:
    The measurement result of the current values of the measurement job for the same resources as defined in the measurement job.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
    `UnsupportedOperationException` - Is raised if this operation is not supported.
    `java.lang.IllegalStateException` - Is raised if the measurement job is suspended.
    `ObjectNotFoundException` - Is raised if the measurement job was not found.
  See Also:
    `JVTPerformanceMonitorSession.getCurrentResultReport(PerformanceMonitorKey pmKey, ReportFormat format)`

### makeManagedEntityValue

    public ManagedEntityValue makeManagedEntityValue(java.lang.String valueType)
                                              throws java.lang.IllegalArgumentException

  See `JVTSession.makeManagedEntityValue(String valueType)`.

  This implementation supports both `PerformanceMonitorByObjectsValue.VALUE_TYPE` and `PerformanceMonitorByClassesValue.VALUE_TYPE` job types.

  Specified by:
    `makeManagedEntityValue` in interface `JVTSession`
  Parameters:
    `valueType` - Fully qualified name of the leaf managed entity value interface. It can be:
    - PerformanceMonitorByObjectsValue
    - PerformanceMonitorByClassesValue
  Returns:
    Managed entity value object of the specified type.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTSession.makeManagedEntityValue(String valueType)`

### queryManagedEntities

    public ManagedEntityValueIterator queryManagedEntities(QueryValue query,
                                                           java.lang.String[] attrNames)
                                                    throws java.lang.IllegalArgumentException

  See `JVTSession.queryManagedEntities(QueryValue query, String[] attrNames)`.

  This implementation supports both `QueryPerformanceMonitorValue.QUERY_TYPE` and `QueryByDNValue.QUERY_TYPE` query types.

  Specified by:
    `queryManagedEntities` in interface `JVTSession`
  Parameters:
    `query` - A QueryValue object representing the query.
    `attrNames` - Names of attributes which should be populated in the ManagedEntityValue objects returned by the ManagedEntityValueIterator.
  Returns:
    A ManagedEnityValueIterator used to extract the results of the query.
  Throws:
    `java.lang.IllegalArgumentException` - Is raised if an arguement has a wrong format/value.
  See Also:
    `JVTSession.queryManagedEntities(QueryValue query, String[] attrNames)`

### getNotificationInfo

    public javax.management.MBeanNotificationInfo[] getNotificationInfo()

  Get informatrion about the notification sent by this factory.

  Specified by:
    `getNotificationInfo` in interface `javax.management.NotificationBroadcaster`
  Returns:
    An object containing the name of the Java class of the notification and the notification types sent by this notification broadcaster.

### handleNotification

    public void handleNotification(javax.management.Notification notification,
                                   java.lang.Object handback)

  Get the Jobs' events and forward them to interested clients

  Specified by:
    `handleNotification` in interface `javax.management.NotificationListener`
  Parameters:
    `notification` - The notification that arrived.
    `handback` - The cookie used by the notification emitter.

### putJob

    public void putJob(java.lang.String key,
                       com.sun.management.oss.impl.job.measurement.PerformanceMonitorJob aPerformanceMonitorJob)

  Put a job in the job list.

  This method is public for other packages access purpose. However, no factory client has to call this method.

  Parameters:
    `key` - Primary key of the job to store.
    `aPerformanceMonitorJob` - The `PerformanceMonitorJob` object to be stored in the job list.
  See Also:
    `PerformanceMonitorJob`

### getJob

    public com.sun.management.oss.impl.job.measurement.PerformanceMonitorJob getJob(java.lang.String key)

  Get a job from the job list.

  This method is public for other packages access purpose. However, no factory client has to call this method.

  Parameters:
    `key` - Primary key of the job to get.
  Returns:
    The `PerformanceMonitorJob` object asked. Null is returned if the job not found.
  See Also:
    `PerformanceMonitorJob`

### getJobs

    public java.util.Enumeration getJobs()

  Get all jobs from the job list.

  This method is public for other packages access purpose. However, no factory client has to call this method.

  Returns:
    The jobs of the list.

### removeJob

    public void removeJob(java.lang.String key)

  Remove a job from the job list.

  This method is public for other packages access purpose. However, no factory client has to call this method.

  Parameters:
    `key` - Primary key of the job to remove.

### getAttribute

    public java.lang.Object getAttribute(java.lang.String attribute_name)
                                  throws javax.management.AttributeNotFoundException,
                                         javax.management.MBeanException,
                                         javax.management.ReflectionException

  See javax.management.DynamicMBean.getAttribute(String attribute_name)

  Specified by:
    `getAttribute` in interface `javax.management.DynamicMBean`
  Parameters:
    `attribute_name` - The name of the attribute to be retrieved.
  Returns:
    The value of the attribute retrieved.
  Throws:
    `javax.management.AttributeNotFoundException` - Is raised if attribute `attribute_name` is not found.
    `javax.management.MBeanException` - Wraps a `java.lang.Exception` thrown by the MBean's getter.
    `javax.management.ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the getter.
  See Also:
    `DynamicMBean.getAttribute(String attribute_name)`

### setAttribute

    public void setAttribute(javax.management.Attribute attribute)
                      throws javax.management.AttributeNotFoundException,
                             javax.management.InvalidAttributeValueException,
                             javax.management.MBeanException,
                             javax.management.ReflectionException

  See javax.management.DynamicMBean.setAttribute(Attribute attribute)

  Specified by:
    `setAttribute` in interface `javax.management.DynamicMBean`
  Parameters:
    `attribute` - The identification of the attribute to be set and the value it is to be set to.
  Throws:
    `javax.management.AttributeNotFoundException` - Is raised if attribute `attribute` is not found.
    `javax.management.InvalidAttributeValueException` - Is raised if `attribute` has a wrong value.
    `javax.management.MBeanException` - raps a `java.lang.Exception` thrown by the MBean's setter.
    `javax.management.ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the setter.
  See Also:
    `DynamicMBean.setAttribute(Attribute attribute)`

### getAttributes

    public javax.management.AttributeList getAttributes(java.lang.String[] attributeNames)

  See javax.management.DynamicMBean.getAttributes(String[] attributeNames)

  Specified by:
    `getAttributes` in interface `javax.management.DynamicMBean`
  Parameters:
    `attributeNames` - A list of the attributes to be retrieved.
  Returns:
    The list of attributes retrieved.
  See Also:
    `DynamicMBean.getAttributes(String[] attributeNames)`

### setAttributes

    public javax.management.AttributeList setAttributes(javax.management.AttributeList attributes)

  See javax.management.DynamicMBean.setAttributes(AttributeList attributes)

  Specified by:
    `setAttributes` in interface `javax.management.DynamicMBean`
  Parameters:
    `attributes` - A list of attributes: The identification of the attributes to be set and the values they are to be set to.
  Returns:
    The list of attributes that were set, with their new values.
  See Also:
    `DynamicMBean.setAttributes(AttributeList attributes)`

### invoke

    public java.lang.Object invoke(java.lang.String operationName,
                                   java.lang.Object[] params,
                                   java.lang.String[] signature)
                            throws javax.management.MBeanException,
                                   javax.management.ReflectionException

  See javax.management.DynamicMBean.invoke(String operationName, Object[] params, String[] signature)

  Specified by:
    `invoke` in interface `javax.management.DynamicMBean`
  Parameters:
    `operationName` - The name of the action to be invoked.
    `params` - An array containing the parameters to be set when the action is invoked.
    `signature` - An array containing the signature of the action. The class objects will be loaded through the same class loader as the one used for loading the MBean on which the action is invoked.
  Returns:
    The object returned by the action, which represents the result of invoking the action on the MBean specified.
  Throws:
    `javax.management.MBeanException` - Wraps a `java.lang.Exception` thrown by the MBean's invoked method.
    `javax.management.ReflectionException` - Wraps a `java.lang.Exception` thrown while trying to invoke the method
  See Also:
    `DynamicMBean.invoke(String operationName, Object[] params, String[] signature)`

### getMBeanInfo

    public javax.management.MBeanInfo getMBeanInfo()

  See javax.management.DynamicMBean.getMBeanInfo()

  Specified by:
    `getMBeanInfo` in interface `javax.management.DynamicMBean`
  Returns:
    An instance of `MBeanInfo` allowing all attributes and actions exposed by this Dynamic MBean to be retrieved.
  See Also:
    `DynamicMBean.getMBeanInfo()`

### postDeregister

    public void postDeregister()

  See javax.management.MBeanRegistration.postDeregister()

  Specified by:
    `postDeregister` in interface `javax.management.MBeanRegistration`
  See Also:
    `MBeanRegistration.postDeregister()`

### postRegister

    public void postRegister(java.lang.Boolean registrationDone)

  See javax.management.MBeanRegistration.postRegister(Boolean registrationDone)

  Specified by:
    `postRegister` in interface `javax.management.MBeanRegistration`
  Parameters:
    `registrationDone` - Indicates whether or not the MBean has been successfully registered in the MBean server. The value false means that the registration phase has failed.
  See Also:
    `MBeanRegistration.postRegister(Boolean registrationDone)`

### preDeregister

    public void preDeregister()

  See javax.management.MBeanRegistration.preDeregister()

  Specified by:
    `preDeregister` in interface `javax.management.MBeanRegistration`
  See Also:
    `MBeanRegistration.preDeregister()`

### preRegister

    public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                                   javax.management.ObjectName name)
                                            throws java.lang.Exception

  Allows the MBean to perform any operations it needs before being registered in the MBean server. Factory name is build this way - Domain name is taken in property PM_DEFAULT_DOMAIN_PROPERTY_KEY if no domain in the provided object name at registration time (name isnull) - only 3 keys are used: - CM_CLASS_NAME_KEY key that holds the factory class name - CM_DATA_MODEL_KEY key that hold the class name implementing the PerformanceGenericModel interface => if a CM_DATA_MODEL_KEY key is provided in the provided object name at registration time, its value will be used instead of the default one that is configured in PM_DEFAULT_MODEL_CLASS_PROPERTY_KEY - CM_INSTANCE_KEY key that holds the instance id of the factory (for the factory type), it is automatically incermented in the factory

  Specified by:
    `preRegister` in interface `javax.management.MBeanRegistration`
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD