Polish "Configure a temporary directory with Undertow"

See gh-17778
This commit is contained in:
Stephane Nicoll 2019-08-08 16:19:57 +02:00
parent 0388f954af
commit 1b3a6d1616
2 changed files with 32 additions and 1 deletions

View File

@ -148,6 +148,16 @@ public class MultipartAutoConfigurationTests {
.isSameAs(this.context.getBean(DispatcherServlet.class).getMultipartResolver());
}
@Test
public void webServerWithNonAbsoluteMultipartLocationUndertowConfiguration() {
this.context = new AnnotationConfigServletWebServerApplicationContext(
WebServerWithNonAbsolutePathUndertow.class, BaseConfiguration.class);
this.context.getBean(MultipartConfigElement.class);
verifyServletWorks();
assertThat(this.context.getBean(StandardServletMultipartResolver.class))
.isSameAs(this.context.getBean(DispatcherServlet.class).getMultipartResolver());
}
@Test
public void webServerWithMultipartConfigDisabled() {
testWebServerWithCustomMultipartConfigEnabledSetting("false", 0);
@ -365,6 +375,27 @@ public class MultipartAutoConfigurationTests {
}
@Configuration
@EnableWebMvc
public static class WebServerWithNonAbsolutePathUndertow {
@Bean
MultipartConfigElement multipartConfigElement() {
return new MultipartConfigElement("test/not-absolute");
}
@Bean
UndertowServletWebServerFactory webServerFactory() {
return new UndertowServletWebServerFactory();
}
@Bean
WebController webController() {
return new WebController();
}
}
@Configuration
public static class WebServerWithCustomMultipartResolver {

View File

@ -259,7 +259,6 @@ public class UndertowServletWebServerFactory extends AbstractServletWebServerFac
deployment.setClassLoader(getServletClassLoader());
deployment.setContextPath(getContextPath());
deployment.setDisplayName(getDisplayName());
deployment.setTempDir(new File(System.getProperty("java.io.tmpdir")));
deployment.setDeploymentName("spring-boot");
if (isRegisterDefaultServlet()) {
deployment.addServlet(Servlets.servlet("default", DefaultServlet.class));
@ -267,6 +266,7 @@ public class UndertowServletWebServerFactory extends AbstractServletWebServerFac
configureErrorPages(deployment);
deployment.setServletStackTraces(ServletStackTraces.NONE);
deployment.setResourceManager(getDocumentRootResourceManager());
deployment.setTempDir(createTempDir("undertow"));
deployment.setEagerFilterInit(this.eagerInitFilters);
configureMimeMappings(deployment);
for (UndertowDeploymentInfoCustomizer customizer : this.deploymentInfoCustomizers) {