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
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. |
| Modifier and Type | Method and Description |
|---|---|
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.
|
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, 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