Class MetadataNamingStrategy

java.lang.Object
org.springframework.jmx.export.naming.MetadataNamingStrategy
All Implemented Interfaces:
InitializingBean, ObjectNamingStrategy

public class MetadataNamingStrategy extends Object implements ObjectNamingStrategy, 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 annotations that come with Spring.

Since:
1.2
Author:
Rob Harrop, Juergen Hoeller
See Also:
  • Constructor Details

  • Method Details

    • 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()
      Description copied from interface: InitializingBean
      Invoked by the containing BeanFactory 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.

      Specified by:
      afterPropertiesSet in interface 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.
      Specified by:
      getObjectName in interface ObjectNamingStrategy
      Parameters:
      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
      Returns:
      the ObjectName instance
      Throws:
      MalformedObjectNameException - if the resulting ObjectName is invalid