org.springframework.jmx.export.naming
Class KeyNamingStrategy

java.lang.Object
  extended by 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:
setMappings(java.util.Properties), setMappingLocation(org.springframework.core.io.Resource), setMappingLocations(org.springframework.core.io.Resource[]), MBeanExporter.setBeans(java.util.Map)

Field Summary
protected  Log logger
          Log instance for this class.
 
Constructor Summary
KeyNamingStrategy()
           
 
Method Summary
 void afterPropertiesSet()
          Merges the Properties configured in the mappings and mappingLocations into the final Properties instance used for ObjectName resolution.
 ObjectName 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 setMappingLocation(Resource location)
          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 setMappings(Properties mappings)
          Set local properties, containing object name mappings, e.g.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Log instance for this class.

Constructor Detail

KeyNamingStrategy

public KeyNamingStrategy()
Method Detail

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,
                                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