Merge branch '1.1.x'
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -36,6 +37,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.SearchStrategy;
|
||||
import org.springframework.boot.autoconfigure.web.ErrorAttributes;
|
||||
import org.springframework.boot.autoconfigure.web.HttpMessageConverters;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainer;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
|
||||
@@ -75,13 +77,23 @@ public class EndpointWebMvcChildContextConfiguration {
|
||||
// instances get their callback very early in the context lifecycle.
|
||||
private ManagementServerProperties managementServerProperties;
|
||||
|
||||
private ServerProperties server;
|
||||
|
||||
@Override
|
||||
public void customize(ConfigurableEmbeddedServletContainer container) {
|
||||
if (this.managementServerProperties == null) {
|
||||
this.managementServerProperties = BeanFactoryUtils
|
||||
.beanOfTypeIncludingAncestors(this.beanFactory,
|
||||
ManagementServerProperties.class);
|
||||
this.server = BeanFactoryUtils
|
||||
.beanOfTypeIncludingAncestors(this.beanFactory,
|
||||
ServerProperties.class);
|
||||
}
|
||||
// Customize as per the parent context first (so e.g. the access logs go to the same place)
|
||||
server.customize(container);
|
||||
// Then reset the error pages
|
||||
container.setErrorPages(Collections.<ErrorPage>emptySet());
|
||||
// and add the management-specific bits
|
||||
container.setPort(this.managementServerProperties.getPort());
|
||||
container.setAddress(this.managementServerProperties.getAddress());
|
||||
container.setContextPath(this.managementServerProperties.getContextPath());
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
|
||||
import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext;
|
||||
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainer;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent;
|
||||
import org.springframework.boot.test.EnvironmentTestUtils;
|
||||
@@ -222,6 +223,7 @@ public class EndpointWebMvcAutoConfigurationTests {
|
||||
assertThat(localServerPort, notNullValue());
|
||||
assertThat(localManagementPort, notNullValue());
|
||||
assertThat(localServerPort, not(equalTo(localManagementPort)));
|
||||
assertThat(applicationContext.getBean(ServerPortConfig.class).getCount(), equalTo(2));
|
||||
this.applicationContext.close();
|
||||
assertAllClosed();
|
||||
}
|
||||
@@ -303,10 +305,22 @@ public class EndpointWebMvcAutoConfigurationTests {
|
||||
|
||||
@Configuration
|
||||
public static class ServerPortConfig {
|
||||
|
||||
private int count = 0;
|
||||
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServerProperties serverProperties() {
|
||||
ServerProperties properties = new ServerProperties();
|
||||
ServerProperties properties = new ServerProperties() {
|
||||
@Override
|
||||
public void customize(ConfigurableEmbeddedServletContainer container) {
|
||||
count++;
|
||||
super.customize(container);
|
||||
}
|
||||
};
|
||||
properties.setPort(ports.get().server);
|
||||
return properties;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user