Skip to content

Commit 5583f64

Browse files
committed
Add tests to verify Jetty's thread pool defaults match server defaults
Closes gh-21213
1 parent f29bce6 commit 5583f64

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import org.apache.coyote.AbstractProtocol;
4141
import org.eclipse.jetty.server.HttpChannel;
4242
import org.eclipse.jetty.server.Request;
43+
import org.eclipse.jetty.server.Server;
44+
import org.eclipse.jetty.util.thread.ThreadPool;
4345
import org.junit.jupiter.api.Test;
4446

4547
import org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Accesslog;
@@ -55,6 +57,7 @@
5557
import org.springframework.http.HttpHeaders;
5658
import org.springframework.http.MediaType;
5759
import org.springframework.http.client.ClientHttpResponse;
60+
import org.springframework.test.util.ReflectionTestUtils;
5861
import org.springframework.util.LinkedMultiValueMap;
5962
import org.springframework.util.MultiValueMap;
6063
import org.springframework.util.unit.DataSize;
@@ -354,6 +357,20 @@ void tomcatUseRelativeRedirectsDefaultsToFalse() {
354357
assertThat(this.properties.getTomcat().getUseRelativeRedirects()).isFalse();
355358
}
356359

360+
@Test
361+
void jettyThreadPoolPropertyDefaultsShouldMatchServerDefault() {
362+
JettyServletWebServerFactory jettyFactory = new JettyServletWebServerFactory(0);
363+
JettyWebServer jetty = (JettyWebServer) jettyFactory.getWebServer();
364+
Server server = (Server) ReflectionTestUtils.getField(jetty, "server");
365+
ThreadPool threadPool = (ThreadPool) ReflectionTestUtils.getField(server, "_threadPool");
366+
int idleTimeout = (int) ReflectionTestUtils.getField(threadPool, "_idleTimeout");
367+
int maxThreads = (int) ReflectionTestUtils.getField(threadPool, "_maxThreads");
368+
int minThreads = (int) ReflectionTestUtils.getField(threadPool, "_minThreads");
369+
assertThat(this.properties.getJetty().getThreadIdleTimeout().toMillis()).isEqualTo(idleTimeout);
370+
assertThat(this.properties.getJetty().getMaxThreads()).isEqualTo(maxThreads);
371+
assertThat(this.properties.getJetty().getMinThreads()).isEqualTo(minThreads);
372+
}
373+
357374
@Test
358375
void jettyMaxHttpFormPostSizeMatchesDefault() throws Exception {
359376
JettyServletWebServerFactory jettyFactory = new JettyServletWebServerFactory(0);

0 commit comments

Comments
 (0)