public class MetadataNamingStrategy extends Object implements ObjectNamingStrategy, 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()
Invoked by the containing
BeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, ApplicationContextAware etc. |
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()
InitializingBeanBeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, ApplicationContextAware etc.
This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
afterPropertiesSet in interface 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