Skip to content

Commit ce6c40f

Browse files
committed
use custom cached thread pool
1 parent c78820b commit ce6c40f

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

cloudnet-rest-module/src/main/java/eu/cloudnetservice/ext/modules/rest/config/RestConfiguration.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
import eu.cloudnetservice.ext.rest.api.connection.HttpConnectionInfoResolver;
2727
import eu.cloudnetservice.ext.rest.api.util.HostAndPort;
2828
import java.util.List;
29-
import java.util.concurrent.Executors;
29+
import java.util.concurrent.LinkedBlockingQueue;
30+
import java.util.concurrent.ThreadPoolExecutor;
31+
import java.util.concurrent.TimeUnit;
3032
import lombok.NonNull;
3133
import org.jetbrains.annotations.Nullable;
3234

@@ -78,14 +80,22 @@ public void validate() {
7880
.setPriority(Thread.NORM_PRIORITY)
7981
.setNameFormat("rest-request-dispatcher-%d")
8082
.build();
83+
var requestDispatchExecutor = new ThreadPoolExecutor(
84+
1,
85+
this.requestDispatchThreadLimit,
86+
30L,
87+
TimeUnit.SECONDS,
88+
new LinkedBlockingQueue<>(),
89+
requestDispatchThreadFactory);
90+
8191
return ComponentConfig.builder()
8292
.corsConfig(this.corsConfig)
8393
.haProxyMode(this.proxyMode)
8494
.maxContentLength(this.maxContentLength)
8595
.sslConfiguration(this.sslConfiguration)
96+
.executorService(requestDispatchExecutor)
8697
.disableNativeTransport(this.disableNativeTransport)
8798
.connectionInfoResolver(this.httpConnectionInfoResolver())
88-
.executorService(Executors.newFixedThreadPool(this.requestDispatchThreadLimit, requestDispatchThreadFactory))
8999
.build();
90100
}
91101

0 commit comments

Comments
 (0)