use of org.springframework.boot.web.servlet.server.ServletWebServerFactory in project spring-boot by spring-projects.
the class EndpointWebMvcAutoConfigurationTests method onDifferentPortWithSpecificServer.
@Test
public void onDifferentPortWithSpecificServer() throws Exception {
EnvironmentTestUtils.addEnvironment(this.applicationContext, "management.port=" + ports.get().management);
this.applicationContext.register(SpecificWebServerConfig.class, RootConfig.class, DifferentPortConfig.class, EndpointConfig.class, BaseConfiguration.class, EndpointWebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class);
this.applicationContext.refresh();
assertContent("/controller", ports.get().server, "controlleroutput");
assertContent("/endpoint", ports.get().server, null);
assertContent("/controller", ports.get().management, null);
assertContent("/endpoint", ports.get().management, "endpointoutput");
assertContent("/error", ports.get().management, startsWith("{"));
ApplicationContext managementContext = this.applicationContext.getBean(ManagementContextResolver.class).getApplicationContext();
List<?> interceptors = (List<?>) ReflectionTestUtils.getField(managementContext.getBean(EndpointHandlerMapping.class), "interceptors");
assertThat(interceptors).hasSize(1);
ServletWebServerFactory parentFactory = this.applicationContext.getBean(ServletWebServerFactory.class);
ServletWebServerFactory managementFactory = managementContext.getBean(ServletWebServerFactory.class);
assertThat(parentFactory).isInstanceOf(SpecificServletWebServerFactory.class);
assertThat(managementFactory).isInstanceOf(SpecificServletWebServerFactory.class);
assertThat(managementFactory).isNotSameAs(parentFactory);
}
use of org.springframework.boot.web.servlet.server.ServletWebServerFactory in project spring-boot by spring-projects.
the class EndpointWebMvcAutoConfigurationTests method undertowManagementAccessLogUsesCustomPrefix.
@Test
public void undertowManagementAccessLogUsesCustomPrefix() throws Exception {
EnvironmentTestUtils.addEnvironment(this.applicationContext, "management.port=" + ports.get().management, "server.undertow.accesslog.enabled: true");
this.applicationContext.register(UndertowWebServerConfig.class, RootConfig.class, EndpointConfig.class, DifferentPortConfig.class, BaseConfiguration.class, EndpointWebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class);
this.applicationContext.refresh();
ApplicationContext managementContext = this.applicationContext.getBean(ManagementContextResolver.class).getApplicationContext();
ServletWebServerFactory factory = managementContext.getBean(ServletWebServerFactory.class);
assertThat(factory).isInstanceOf(UndertowServletWebServerFactory.class);
assertThat(((UndertowServletWebServerFactory) factory).getAccessLogPrefix()).isEqualTo("management_access_log.");
}
use of org.springframework.boot.web.servlet.server.ServletWebServerFactory in project spring-boot by spring-projects.
the class ServletWebServerApplicationContext method createWebServer.
private void createWebServer() {
WebServer webServer = this.webServer;
ServletContext servletContext = getServletContext();
if (webServer == null && servletContext == null) {
ServletWebServerFactory factory = getWebServerFactory();
this.webServer = factory.getWebServer(getSelfInitializer());
} else if (servletContext != null) {
try {
getSelfInitializer().onStartup(servletContext);
} catch (ServletException ex) {
throw new ApplicationContextException("Cannot initialize servlet context", ex);
}
}
initPropertySources();
}
use of org.springframework.boot.web.servlet.server.ServletWebServerFactory in project spring-boot by spring-projects.
the class EndpointWebMvcAutoConfigurationTests method tomcatManagementAccessLogUsesCustomPrefix.
@Test
public void tomcatManagementAccessLogUsesCustomPrefix() throws Exception {
EnvironmentTestUtils.addEnvironment(this.applicationContext, "management.port=" + ports.get().management);
this.applicationContext.register(TomcatWebServerConfig.class, RootConfig.class, EndpointConfig.class, DifferentPortConfig.class, BaseConfiguration.class, EndpointWebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class);
EnvironmentTestUtils.addEnvironment(this.applicationContext, "server.tomcat.accesslog.enabled: true");
this.applicationContext.refresh();
ApplicationContext managementContext = this.applicationContext.getBean(ManagementContextResolver.class).getApplicationContext();
ServletWebServerFactory factory = managementContext.getBean(ServletWebServerFactory.class);
assertThat(factory).isInstanceOf(TomcatServletWebServerFactory.class);
AccessLogValve accessLogValve = findAccessLogValve(((TomcatServletWebServerFactory) factory));
assertThat(accessLogValve).isNotNull();
assertThat(accessLogValve.getPrefix()).isEqualTo("management_access_log");
}
Aggregations