public class MetadataNamingStrategy extends Object implements ObjectNamingStrategy, org.springframework.beans.factory.InitializingBean
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.
ObjectNamingStrategy, 
AnnotationJmxAttributeSource| Constructor and Description | 
|---|
| MetadataNamingStrategy()Create a new  MetadataNamingStrategywhich needs to be
 configured through thesetAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource)method. | 
| MetadataNamingStrategy(JmxAttributeSource attributeSource)Create a new  MetadataNamingStrategyfor the givenJmxAttributeSource. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | afterPropertiesSet() | 
| ObjectName | getObjectName(Object managedBean,
             String beanKey)Reads the  ObjectNamefrom the source-level metadata associated
 with the managed resource'sClass. | 
| void | setAttributeSource(JmxAttributeSource attributeSource)Set the implementation of the  JmxAttributeSourceinterface 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. | 
public MetadataNamingStrategy()
MetadataNamingStrategy which needs to be
 configured through the setAttributeSource(org.springframework.jmx.export.metadata.JmxAttributeSource) method.public MetadataNamingStrategy(JmxAttributeSource attributeSource)
MetadataNamingStrategy for the given
 JmxAttributeSource.attributeSource - the JmxAttributeSource to usepublic void setAttributeSource(JmxAttributeSource attributeSource)
JmxAttributeSource interface to use
 when reading the source-level metadata.public void setDefaultDomain(String defaultDomain)
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.
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanpublic ObjectName getObjectName(Object managedBean, @Nullable String beanKey) throws MalformedObjectNameException
ObjectName from the source-level metadata associated
 with the managed resource's Class.getObjectName in interface ObjectNamingStrategymanagedBean - the bean that will be exposed under the
 returned ObjectNamebeanKey - the key associated with this bean in the beans map
 passed to the MBeanExporterObjectName instanceMalformedObjectNameException - if the resulting ObjectName is invalid