diff --git a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ExecutorConfigurationSupport.java b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ExecutorConfigurationSupport.java index 4f2c96e367..a899a0344f 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/concurrent/ExecutorConfigurationSupport.java +++ b/spring-context/src/main/java/org/springframework/scheduling/concurrent/ExecutorConfigurationSupport.java @@ -168,7 +168,7 @@ public abstract class ExecutorConfigurationSupport extends CustomizableThreadFac */ public void initialize() { if (logger.isInfoEnabled()) { - logger.info("Initializing ExecutorService " + (this.beanName != null ? " '" + this.beanName + "'" : "")); + logger.info("Initializing ExecutorService" + (this.beanName != null ? " '" + this.beanName + "'" : "")); } if (!this.threadNamePrefixSet && this.beanName != null) { setThreadNamePrefix(this.beanName + "-"); diff --git a/spring-core/src/main/java/org/springframework/core/env/AbstractEnvironment.java b/spring-core/src/main/java/org/springframework/core/env/AbstractEnvironment.java index 19130e9ec1..3ad07215d3 100644 --- a/spring-core/src/main/java/org/springframework/core/env/AbstractEnvironment.java +++ b/spring-core/src/main/java/org/springframework/core/env/AbstractEnvironment.java @@ -378,6 +378,32 @@ public abstract class AbstractEnvironment implements ConfigurableEnvironment { return this.propertySources; } + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public Map getSystemProperties() { + try { + return (Map) System.getProperties(); + } + catch (AccessControlException ex) { + return (Map) new ReadOnlySystemAttributesMap() { + @Override + @Nullable + protected String getSystemAttribute(String attributeName) { + try { + return System.getProperty(attributeName); + } + catch (AccessControlException ex) { + if (logger.isInfoEnabled()) { + logger.info("Caught AccessControlException when accessing system property '" + + attributeName + "'; its value will be returned [null]. Reason: " + ex.getMessage()); + } + return null; + } + } + }; + } + } + @Override @SuppressWarnings({"unchecked", "rawtypes"}) public Map getSystemEnvironment() { @@ -422,32 +448,6 @@ public abstract class AbstractEnvironment implements ConfigurableEnvironment { return SpringProperties.getFlag(IGNORE_GETENV_PROPERTY_NAME); } - @Override - @SuppressWarnings({"unchecked", "rawtypes"}) - public Map getSystemProperties() { - try { - return (Map) System.getProperties(); - } - catch (AccessControlException ex) { - return (Map) new ReadOnlySystemAttributesMap() { - @Override - @Nullable - protected String getSystemAttribute(String attributeName) { - try { - return System.getProperty(attributeName); - } - catch (AccessControlException ex) { - if (logger.isInfoEnabled()) { - logger.info("Caught AccessControlException when accessing system property '" + - attributeName + "'; its value will be returned [null]. Reason: " + ex.getMessage()); - } - return null; - } - } - }; - } - } - @Override public void merge(ConfigurableEnvironment parent) { for (PropertySource ps : parent.getPropertySources()) { diff --git a/spring-core/src/main/java/org/springframework/core/env/ConfigurableEnvironment.java b/spring-core/src/main/java/org/springframework/core/env/ConfigurableEnvironment.java index d2b20052ec..1d875f2cd0 100644 --- a/spring-core/src/main/java/org/springframework/core/env/ConfigurableEnvironment.java +++ b/spring-core/src/main/java/org/springframework/core/env/ConfigurableEnvironment.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ import java.util.Map; *
  * ConfigurableEnvironment environment = new StandardEnvironment();
  * MutablePropertySources propertySources = environment.getPropertySources();
- * Map myMap = new HashMap();
+ * Map<String, String> myMap = new HashMap<>();
  * myMap.put("xyz", "myValue");
  * propertySources.addFirst(new MapPropertySource("MY_MAP", myMap));
  * 
@@ -78,26 +78,26 @@ public interface ConfigurableEnvironment extends Environment, ConfigurableProper *

Any existing active profiles will be replaced with the given arguments; call * with zero arguments to clear the current set of active profiles. Use * {@link #addActiveProfile} to add a profile while preserving the existing set. + * @throws IllegalArgumentException if any profile is null, empty or whitespace-only * @see #addActiveProfile * @see #setDefaultProfiles * @see org.springframework.context.annotation.Profile * @see AbstractEnvironment#ACTIVE_PROFILES_PROPERTY_NAME - * @throws IllegalArgumentException if any profile is null, empty or whitespace-only */ void setActiveProfiles(String... profiles); /** * Add a profile to the current set of active profiles. - * @see #setActiveProfiles * @throws IllegalArgumentException if the profile is null, empty or whitespace-only + * @see #setActiveProfiles */ void addActiveProfile(String profile); /** * Specify the set of profiles to be made active by default if no other profiles * are explicitly made active through {@link #setActiveProfiles}. - * @see AbstractEnvironment#DEFAULT_PROFILES_PROPERTY_NAME * @throws IllegalArgumentException if any profile is null, empty or whitespace-only + * @see AbstractEnvironment#DEFAULT_PROFILES_PROPERTY_NAME */ void setDefaultProfiles(String... profiles); @@ -118,21 +118,6 @@ public interface ConfigurableEnvironment extends Environment, ConfigurableProper */ MutablePropertySources getPropertySources(); - /** - * Return the value of {@link System#getenv()} if allowed by the current - * {@link SecurityManager}, otherwise return a map implementation that will attempt - * to access individual keys using calls to {@link System#getenv(String)}. - *

Note that most {@link Environment} implementations will include this system - * environment map as a default {@link PropertySource} to be searched. Therefore, it - * is recommended that this method not be used directly unless bypassing other - * property sources is expressly intended. - *

Calls to {@link Map#get(Object)} on the Map returned will never throw - * {@link IllegalAccessException}; in cases where the SecurityManager forbids access - * to a property, {@code null} will be returned and an INFO-level log message will be - * issued noting the exception. - */ - Map getSystemEnvironment(); - /** * Return the value of {@link System#getProperties()} if allowed by the current * {@link SecurityManager}, otherwise return a map implementation that will attempt @@ -148,6 +133,21 @@ public interface ConfigurableEnvironment extends Environment, ConfigurableProper */ Map getSystemProperties(); + /** + * Return the value of {@link System#getenv()} if allowed by the current + * {@link SecurityManager}, otherwise return a map implementation that will attempt + * to access individual keys using calls to {@link System#getenv(String)}. + *

Note that most {@link Environment} implementations will include this system + * environment map as a default {@link PropertySource} to be searched. Therefore, it + * is recommended that this method not be used directly unless bypassing other + * property sources is expressly intended. + *

Calls to {@link Map#get(Object)} on the Map returned will never throw + * {@link IllegalAccessException}; in cases where the SecurityManager forbids access + * to a property, {@code null} will be returned and an INFO-level log message will be + * issued noting the exception. + */ + Map getSystemEnvironment(); + /** * Append the given parent environment's active profiles, default profiles and * property sources to this (child) environment's respective collections of each.