Class KeyNamingStrategy

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

public class KeyNamingStrategy extends Object implements ObjectNamingStrategy, InitializingBean
ObjectNamingStrategy implementation that builds ObjectName instances from the key used in the "beans" map passed to MBeanExporter.

Can also check object name mappings, given as Properties or as mappingLocations of properties files. The key used to look up is the key used in MBeanExporter's "beans" map. If no mapping is found for a given key, the key itself is used to build an ObjectName.

Since:
1.2
Author:
Rob Harrop, Juergen Hoeller
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Log
    Log instance for this class.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Merges the Properties configured in the mappings and mappingLocations into the final Properties instance used for ObjectName resolution.
    getObjectName(Object managedBean, String beanKey)
    Attempts to retrieve the ObjectName via the given key, trying to find a mapped value in the mappings first.
    void
    Set a location of a properties file to be loaded, containing object name mappings.
    void
    setMappingLocations(Resource... mappingLocations)
    Set location of properties files to be loaded, containing object name mappings.
    void
    Set local properties, containing object name mappings, for example, via the "props" tag in XML bean definitions.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      protected final Log logger
      Log instance for this class.
  • Constructor Details

    • KeyNamingStrategy

      public KeyNamingStrategy()
  • Method Details

    • setMappings

      public void setMappings(Properties mappings)
      Set local properties, containing object name mappings, for example, via the "props" tag in XML bean definitions. These can be considered defaults, to be overridden by properties loaded from files.
    • setMappingLocation

      public void setMappingLocation(Resource location)
      Set a location of a properties file to be loaded, containing object name mappings.
    • setMappingLocations

      public void setMappingLocations(Resource... mappingLocations)
      Set location of properties files to be loaded, containing object name mappings.
    • afterPropertiesSet

      public void afterPropertiesSet() throws IOException
      Merges the Properties configured in the mappings and mappingLocations into the final Properties instance used for ObjectName resolution.
      Specified by:
      afterPropertiesSet in interface InitializingBean
      Throws:
      IOException
    • getObjectName

      public ObjectName getObjectName(Object managedBean, @Nullable String beanKey) throws MalformedObjectNameException
      Attempts to retrieve the ObjectName via the given key, trying to find a mapped value in the mappings first.
      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