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 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, e.g. 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