Changes along with 3.1.3 backport

Aside from minor polishing, this change sets the "systemProperties" and "systemEnvironment" beans at each factory level as well.

Issue: SPR-9756
Issue: SPR-9764
This commit is contained in:
Juergen Hoeller
2012-10-10 17:44:45 +02:00
committed by unknown
parent 9eeb6f15e5
commit 014f7f0242
6 changed files with 11 additions and 13 deletions

View File

@@ -398,7 +398,7 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
if (parent != null) {
Environment parentEnvironment = parent.getEnvironment();
if (parentEnvironment instanceof ConfigurableEnvironment) {
getEnvironment().merge((ConfigurableEnvironment)parentEnvironment);
getEnvironment().merge((ConfigurableEnvironment) parentEnvironment);
}
}
}
@@ -578,12 +578,10 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
if (!beanFactory.containsLocalBean(ENVIRONMENT_BEAN_NAME)) {
beanFactory.registerSingleton(ENVIRONMENT_BEAN_NAME, getEnvironment());
}
if (!beanFactory.containsBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
if (!beanFactory.containsLocalBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
beanFactory.registerSingleton(SYSTEM_PROPERTIES_BEAN_NAME, getEnvironment().getSystemProperties());
}
if (!beanFactory.containsBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
if (!beanFactory.containsLocalBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
beanFactory.registerSingleton(SYSTEM_ENVIRONMENT_BEAN_NAME, getEnvironment().getSystemEnvironment());
}
}