org.springframework.jmx.export.naming

## 类 MetadataNamingStrategy

- java.lang.Object
- - org.springframework.jmx.export.naming.MetadataNamingStrategy

- 所有已实现的接口:
    org.springframework.beans.factory.InitializingBean, ObjectNamingStrategy

      public class MetadataNamingStrategy
      extends Object
      implements ObjectNamingStrategy, org.springframework.beans.factory.InitializingBean

  An implementation of the `ObjectNamingStrategy` interface that reads the `ObjectName` from the source-level metadata. Falls back to the bean key (bean name) if no `ObjectName` can be found in source-level metadata.

  Uses the `JmxAttributeSource` strategy interface, so that metadata can be read using any supported implementation. Out of the box, `AnnotationJmxAttributeSource` introspects a well-defined set of Java 5 annotations that come with Spring.

  从以下版本开始:
    1.2
  作者:
    Rob Harrop, Juergen Hoeller
  另请参阅:
    `ObjectNamingStrategy`, `AnnotationJmxAttributeSource`

- - ### 构造器概要

    构造器
    构造器和说明
    `MetadataNamingStrategy()` Create a new `MetadataNamingStrategy` which needs to be configured through the `setAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource)` method.
    `MetadataNamingStrategy(JmxAttributeSource attributeSource)` Create a new `MetadataNamingStrategy` for the given `JmxAttributeSource`.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `afterPropertiesSet()`
    `ObjectName` | `getObjectName(Object managedBean, String beanKey)` Reads the `ObjectName` from the source-level metadata associated with the managed resource's `Class`.
    `void` | `setAttributeSource(JmxAttributeSource attributeSource)` Set the implementation of the `JmxAttributeSource` interface to use when reading the source-level metadata.
    `void` | `setDefaultDomain(String defaultDomain)` Specify the default domain to be used for generating ObjectNames when no source-level metadata has been specified.

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### MetadataNamingStrategy

          public MetadataNamingStrategy()

      Create a new `MetadataNamingStrategy` which needs to be configured through the `setAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource)` method.

    - #### MetadataNamingStrategy

          public MetadataNamingStrategy(JmxAttributeSource attributeSource)

      Create a new `MetadataNamingStrategy` for the given `JmxAttributeSource`.
      参数:
        `attributeSource` - the JmxAttributeSource to use

  - ### 方法详细资料

    - #### setAttributeSource

          public void setAttributeSource(JmxAttributeSource attributeSource)

      Set the implementation of the `JmxAttributeSource` interface to use when reading the source-level metadata.

    - #### setDefaultDomain

          public void setDefaultDomain(String defaultDomain)

      Specify the default domain to be used for generating ObjectNames when no source-level metadata has been specified.

      The default is to use the domain specified in the bean name (if the bean name follows the JMX ObjectName syntax); else, the package name of the managed bean class.

    - #### afterPropertiesSet

          public void afterPropertiesSet()

      指定者:
        `afterPropertiesSet` 在接口中 `org.springframework.beans.factory.InitializingBean`

    - #### getObjectName

          public ObjectName getObjectName(Object managedBean,
                                          @Nullable
                                          String beanKey)
                                   throws MalformedObjectNameException

      Reads the `ObjectName` from the source-level metadata associated with the managed resource's `Class`.
      指定者:
        `getObjectName` 在接口中 `ObjectNamingStrategy`
      参数:
        `managedBean` - the bean that will be exposed under the returned `ObjectName`
        `beanKey` - the key associated with this bean in the beans map passed to the `MBeanExporter`
      返回:
        the `ObjectName` instance
      抛出:
        `MalformedObjectNameException` - if the resulting `ObjectName` is invalid