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:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,19 +17,18 @@
|
||||
package org.springframework.context.support;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
/**
|
||||
* Tests covering the integration of {@link Environment} into {@link ApplicationContext}
|
||||
* hierarchies.
|
||||
* Tests covering the integration of {@link Environment} into {@link ApplicationContext} hierarchies.
|
||||
*
|
||||
* @author Chris Beams
|
||||
*/
|
||||
@@ -51,4 +50,5 @@ public class EnvironmentIntegrationTests {
|
||||
sameInstance(child.getEnvironment())));
|
||||
assertThat("expected child ctx env", env, sameInstance(child.getEnvironment()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user