Package org.openspaces.core.properties
Class BeanLevelPropertyPlaceholderConfigurer
java.lang.Object
org.springframework.core.io.support.PropertiesLoaderSupport
org.springframework.beans.factory.config.PropertyResourceConfigurer
org.springframework.beans.factory.config.PlaceholderConfigurerSupport
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
org.openspaces.core.properties.BeanLevelPropertyPlaceholderConfigurer
- All Implemented Interfaces:
ClusterInfoAware,BeanLevelPropertiesAware,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.config.BeanFactoryPostProcessor,org.springframework.core.Ordered,org.springframework.core.PriorityOrdered
public class BeanLevelPropertyPlaceholderConfigurer
extends org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
implements org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.BeanFactoryAware, BeanLevelPropertiesAware, ClusterInfoAware
An extension on top of Spring
PropertyPlaceholderConfigurer that works with BeanLevelProperties in order to inject bean level properties.
${..} notations are used to lookup bean level properties with the properties obtained based
on the bean name using BeanLevelProperties.getMergedBeanProperties(String).
- Author:
- kimchy
-
Field Summary
Fields inherited from class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
SYSTEM_PROPERTIES_MODE_FALLBACK, SYSTEM_PROPERTIES_MODE_NEVER, SYSTEM_PROPERTIES_MODE_OVERRIDEFields inherited from class org.springframework.beans.factory.config.PlaceholderConfigurerSupport
DEFAULT_ESCAPE_CHARACTER, DEFAULT_PLACEHOLDER_PREFIX, DEFAULT_PLACEHOLDER_SUFFIX, DEFAULT_VALUE_SEPARATOR, escapeCharacter, ignoreUnresolvablePlaceholders, nullValue, placeholderPrefix, placeholderSuffix, trimValues, valueSeparatorFields inherited from class org.springframework.core.io.support.PropertiesLoaderSupport
localOverride, localProperties, loggerFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionBeanLevelPropertyPlaceholderConfigurer(BeanLevelProperties beanLevelProperties) BeanLevelPropertyPlaceholderConfigurer(BeanLevelProperties beanLevelProperties, ClusterInfo clusterInfo) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprocessProperties(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) voidsetBeanLevelProperties(BeanLevelProperties beanLevelProperties) Sets theBeanLevelProperties.voidsetBeanName(String beanName) voidsetClusterInfo(ClusterInfo clusterInfo) Sets the cluster information.Methods inherited from class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
resolvePlaceholder, resolvePlaceholder, resolveSystemProperty, setSearchSystemEnvironment, setSystemPropertiesMode, setSystemPropertiesModeNameMethods inherited from class org.springframework.beans.factory.config.PlaceholderConfigurerSupport
doProcessProperties, setEscapeCharacter, setIgnoreUnresolvablePlaceholders, setNullValue, setPlaceholderPrefix, setPlaceholderSuffix, setTrimValues, setValueSeparatorMethods inherited from class org.springframework.beans.factory.config.PropertyResourceConfigurer
convertProperties, convertProperty, convertPropertyValue, getOrder, postProcessBeanFactory, setOrderMethods inherited from class org.springframework.core.io.support.PropertiesLoaderSupport
loadProperties, mergeProperties, setFileEncoding, setIgnoreResourceNotFound, setLocalOverride, setLocation, setLocations, setProperties, setPropertiesArray, setPropertiesPersister
-
Constructor Details
-
BeanLevelPropertyPlaceholderConfigurer
-
BeanLevelPropertyPlaceholderConfigurer
public BeanLevelPropertyPlaceholderConfigurer(BeanLevelProperties beanLevelProperties, ClusterInfo clusterInfo)
-
-
Method Details
-
setBeanLevelProperties
Description copied from interface:BeanLevelPropertiesAwareSets theBeanLevelProperties.- Specified by:
setBeanLevelPropertiesin interfaceBeanLevelPropertiesAware
-
setClusterInfo
Description copied from interface:ClusterInfoAwareSets the cluster information.Note, the cluster information is obtained externally from the application context which means that this feature need to be supported by specific containers (and is not supported by plain Spring application context). This means that beans that implement
ClusterInfoAwareshould take into account the fact that the cluster info provided might be null.- Specified by:
setClusterInfoin interfaceClusterInfoAware- Parameters:
clusterInfo- The cluster information to be injected
-
setBeanName
- Specified by:
setBeanNamein interfaceorg.springframework.beans.factory.BeanNameAware- Overrides:
setBeanNamein classorg.springframework.beans.factory.config.PlaceholderConfigurerSupport
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) - Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware- Overrides:
setBeanFactoryin classorg.springframework.beans.factory.config.PlaceholderConfigurerSupport
-
processProperties
protected void processProperties(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws org.springframework.beans.BeansException - Overrides:
processPropertiesin classorg.springframework.beans.factory.config.PropertyPlaceholderConfigurer- Throws:
org.springframework.beans.BeansException
-