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 buildsObjectName
instances from the key used in the "beans" map passed toMBeanExporter
.Can also check object name mappings, given as
Properties
or asmappingLocations
of properties files. The key used to look up is the key used inMBeanExporter
's "beans" map. If no mapping is found for a given key, the key itself is used to build anObjectName
.- 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<java.lang.String, java.lang.Object>)
Constructor Summary
Constructors Constructor Description KeyNamingStrategy()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
Merges theProperties
configured in themappings
andmappingLocations
into the finalProperties
instance used forObjectName
resolution.ObjectName
getObjectName(Object managedBean, String beanKey)
Attempts to retrieve theObjectName
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.
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 theProperties
configured in themappings
andmappingLocations
into the finalProperties
instance used forObjectName
resolution.- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Throws:
IOException
getObjectName
public ObjectName getObjectName(Object managedBean, String beanKey) throws MalformedObjectNameException
Attempts to retrieve theObjectName
via the given key, trying to find a mapped value in the mappings first.- Specified by:
getObjectName
in interfaceObjectNamingStrategy
- Parameters:
managedBean
- the bean that will be exposed under the returnedObjectName
beanKey
- the key associated with this bean in the beans map passed to theMBeanExporter
- Returns:
- the
ObjectName
instance - Throws:
MalformedObjectNameException
- if the resultingObjectName
is invalid