Example usage for org.springframework.beans.factory.config PropertyPlaceholderConfigurer setSystemPropertiesMode

List of usage examples for org.springframework.beans.factory.config PropertyPlaceholderConfigurer setSystemPropertiesMode

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config PropertyPlaceholderConfigurer setSystemPropertiesMode.

Prototype

public void setSystemPropertiesMode(int systemPropertiesMode) 

Source Link

Document

Set how to check system properties: as fallback, as override, or never.

Usage

From source file:ch.tatool.app.util.ContextUtils.java

/**
 * Create a new BeanFactory using the main ApplicationContext as parent.
 * /*from   w  ww . j  av a2 s. c  o  m*/
 * @param classpath the path to the bean definition file in the classpath 
 * @param properties set of properties that should be replaced in the definitions
 * @return a BeanFactory instance
 */
public static BeanFactory createBeanFactory(String classpath, Properties properties) {
    // create an empty bean factory 
    DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();

    // load the context file - has to be done here, otherwise properties won't get resolved
    XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);
    Resource resource = new ClassPathResource(classpath);
    reader.loadBeanDefinitions(resource);

    // apply the properties to the context
    PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
    configurer.setProperties(properties);
    configurer.setIgnoreUnresolvablePlaceholders(false);
    configurer.setIgnoreResourceNotFound(false);
    configurer.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_FALLBACK);
    configurer.postProcessBeanFactory(beanFactory);

    return beanFactory;
}

From source file:com.logsniffer.app.CoreAppConfig.java

/**
 * Returns a general properties placeholder configurer based on
 * {@link #logSnifferProperties()}.//  w ww. ja v a  2s.  com
 * 
 * @param props
 *            autowired logSnifferProperties bean
 * @return A general properties placeholder configurer.
 * @throws IOException
 */
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
@Autowired
public static PropertyPlaceholderConfigurer propertyPlaceholderConfigurer(
        @Qualifier(BEAN_LOGSNIFFER_PROPS) final Properties props) throws IOException {
    final PropertyPlaceholderConfigurer c = new PropertyPlaceholderConfigurer();
    c.setIgnoreResourceNotFound(true);
    c.setIgnoreUnresolvablePlaceholders(true);
    c.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);
    c.setProperties(props);
    return c;
}

From source file:co.paralleluniverse.common.spring.SpringContainerHelper.java

public static ConfigurableApplicationContext createContext(String defaultDomain, Resource xmlResource,
        Object properties, BeanFactoryPostProcessor beanFactoryPostProcessor) {
    LOG.info("JAVA: {} {}, {}", new Object[] { System.getProperty("java.runtime.name"),
            System.getProperty("java.runtime.version"), System.getProperty("java.vendor") });
    LOG.info("OS: {} {}, {}", new Object[] { System.getProperty("os.name"), System.getProperty("os.version"),
            System.getProperty("os.arch") });
    LOG.info("DIR: {}", System.getProperty("user.dir"));

    final DefaultListableBeanFactory beanFactory = createBeanFactory();
    final GenericApplicationContext context = new GenericApplicationContext(beanFactory);
    context.registerShutdownHook();/*from w  w  w. jav a2 s  . co m*/

    final PropertyPlaceholderConfigurer propertyPlaceholderConfigurer = new PropertyPlaceholderConfigurer();
    propertyPlaceholderConfigurer
            .setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);

    if (properties != null) {
        if (properties instanceof Resource)
            propertyPlaceholderConfigurer.setLocation((Resource) properties);
        else if (properties instanceof Properties)
            propertyPlaceholderConfigurer.setProperties((Properties) properties);
        else
            throw new IllegalArgumentException(
                    "Properties argument - " + properties + " - is of an unhandled type");
    }
    context.addBeanFactoryPostProcessor(propertyPlaceholderConfigurer);

    // MBean exporter
    //final MBeanExporter mbeanExporter = new AnnotationMBeanExporter();
    //mbeanExporter.setServer(ManagementFactory.getPlatformMBeanServer());
    //beanFactory.registerSingleton("mbeanExporter", mbeanExporter);
    context.registerBeanDefinition("mbeanExporter", getMBeanExporterBeanDefinition(defaultDomain));

    // inject bean names into components
    context.addBeanFactoryPostProcessor(new BeanFactoryPostProcessor() {
        @Override
        public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
            for (String beanName : beanFactory.getBeanDefinitionNames()) {
                try {
                    final BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
                    if (beanDefinition.getBeanClassName() != null) { // van be null for factory methods
                        final Class<?> beanClass = Class.forName(beanDefinition.getBeanClassName());
                        if (Component.class.isAssignableFrom(beanClass))
                            beanDefinition.getConstructorArgumentValues().addIndexedArgumentValue(0, beanName);
                    }
                } catch (Exception ex) {
                    LOG.error("Error loading bean " + beanName + " definition.", ex);
                    throw new Error(ex);
                }
            }
        }
    });

    if (beanFactoryPostProcessor != null)
        context.addBeanFactoryPostProcessor(beanFactoryPostProcessor);

    beanFactory.registerCustomEditor(org.w3c.dom.Element.class,
            co.paralleluniverse.common.util.DOMElementProprtyEditor.class);

    final Map<String, Object> beans = new HashMap<String, Object>();

    beanFactory.addBeanPostProcessor(new BeanPostProcessor() {
        @Override
        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
            LOG.info("Loading bean {} [{}]", beanName, bean.getClass().getName());
            beans.put(beanName, bean);

            if (bean instanceof Service) {
                final BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
                Collection<String> dependencies = getBeanDependencies(beanDefinition);

                for (String dependeeName : dependencies) {
                    Object dependee = beanFactory.getBean(dependeeName);
                    if (dependee instanceof Service) {
                        ((Service) dependee).addDependedBy((Service) bean);
                        ((Service) bean).addDependsOn((Service) dependee);
                    }
                }
            }
            return bean;
        }

        @Override
        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
            LOG.info("Bean {} [{}] loaded", beanName, bean.getClass().getName());
            return bean;
        }
    });

    final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry) beanFactory);
    xmlReader.loadBeanDefinitions(xmlResource);

    // start container
    context.refresh();

    // Call .postInit() on all Components
    // There's probably a better way to do this
    try {
        for (Map.Entry<String, Object> entry : beans.entrySet()) {
            final String beanName = entry.getKey();
            final Object bean = entry.getValue();
            if (bean instanceof Component) {
                LOG.info("Performing post-initialization on bean {} [{}]", beanName, bean.getClass().getName());
                ((Component) bean).postInit();
            }
        }
    } catch (Exception e) {
        throw Throwables.propagate(e);
    }

    return context;
}

From source file:dk.nsi.minlog.export.config.ApplicationRootConfig.java

@Bean
public static PropertyPlaceholderConfigurer configuration() {
    final PropertyPlaceholderConfigurer props = new PropertyPlaceholderConfigurer();
    props.setLocations(new Resource[] { new ClassPathResource("default.properties"),
            new FileSystemResource(getProperty("jboss.server.config.url") + "minlog." + getProperty("user.name")
                    + ".properties"),
            new ClassPathResource("minlog." + getProperty("user.name") + ".properties"),
            new ClassPathResource("jdbc.default.properties"),
            new FileSystemResource(getProperty("jboss.server.config.url") + "jdbc." + getProperty("user.name")
                    + ".properties"),
            new ClassPathResource("jdbc." + getProperty("user.name") + ".properties"),
            new FileSystemResource(getProperty("user.home") + "/.minlog/passwords.properties") });
    props.setIgnoreResourceNotFound(true);
    props.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);

    return props;
}

From source file:gov.nih.nci.integration.dao.CommonPropsConfig.java

/**
 * Loads properties from classpath/*from   w  ww  . j  av  a2s  . c  o m*/
 * 
 * @return the property place holder configures
 */
@Bean
public PropertyPlaceholderConfigurer commonPropertyPlaceholderConfigurer() {
    final PropertyPlaceholderConfigurer configurer = new CommonsPropertyPlaceholderConfigurer("ihub",
            "transcend-ihub.properties");
    configurer.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);
    configurer.setIgnoreUnresolvablePlaceholders(true);
    return configurer;
}

From source file:gov.nih.nci.integration.dao.CommonPropsTestConfig.java

/**
 * Loads properties from classpath//  w  w w. j  a va  2  s .  c  om
 * 
 * @return the property place holder configures
 */
@Bean
public PropertyPlaceholderConfigurer commonPropertyPlaceholderConfigurer() {
    final PropertyPlaceholderConfigurer configurer = new CommonsPropertyPlaceholderConfigurer("ihub",
            "transcend-ihub-test.properties");
    configurer.setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);
    configurer.setIgnoreUnresolvablePlaceholders(true);
    return configurer;
}

From source file:com.notemyweb.config.MainConfig.java

@Bean
public PropertyPlaceholderConfigurer createPlaceHolders() throws Exception {
    PropertyPlaceholderConfigurer propertyPlaceholderConfigurer = new PropertyPlaceholderConfigurer();
    Properties properties = new FusionConfig().getFusionProperties(NotesUtil.getEnv());
    propertyPlaceholderConfigurer.setProperties(properties);
    propertyPlaceholderConfigurer
            .setSystemPropertiesMode(PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE);
    return propertyPlaceholderConfigurer;
}

From source file:guru.qas.martini.jmeter.config.DefaultApplicationContextBuilder.java

protected void setEnvironment(ConfigurableApplicationContext context, Properties properties) {
    PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
    configurer.setProperties(properties);
    configurer.setLocalOverride(true);/*from  w w  w. j a va 2  s  .c o  m*/
    configurer.setSearchSystemEnvironment(true);
    configurer.setSystemPropertiesMode(SYSTEM_PROPERTIES_MODE_FALLBACK);
    context.addBeanFactoryPostProcessor(configurer);
}