From 09d04c34cb1ec9db68af52d8df2e65ccabb80a1c Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 30 Apr 2013 11:32:29 +1000 Subject: [PATCH] Increase thread pool timeout to try and reduce churn --- proxy/src/main/java/net/md_5/bungee/BungeeCord.java | 6 +----- .../java/net/md_5/bungee/scheduler/BungeeThreadPool.java | 7 +++++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index af4aab26..dd5bcf52 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -78,8 +78,7 @@ public class BungeeCord extends ProxyServer /** * Thread pools. */ - public final ScheduledThreadPoolExecutor executors = new BungeeThreadPool( Integer.MAX_VALUE, - new ThreadFactoryBuilder().setNameFormat( "Bungee Pool Thread #%1$d" ).build() ); + public final ScheduledThreadPoolExecutor executors = new BungeeThreadPool( new ThreadFactoryBuilder().setNameFormat( "Bungee Pool Thread #%1$d" ).build() ); public final MultithreadEventLoopGroup eventLoops = new NioEventLoopGroup( 0, new ThreadFactoryBuilder().setNameFormat( "Netty IO Thread #%1$d" ).build() ); /** * locations.yml save thread. @@ -190,9 +189,6 @@ public class BungeeCord extends ProxyServer @Override public void start() throws Exception { - executors.setKeepAliveTime( 60, TimeUnit.SECONDS ); - executors.allowCoreThreadTimeOut( true ); - pluginsFolder.mkdir(); pluginManager.loadPlugins( pluginsFolder ); config.load(); diff --git a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeThreadPool.java b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeThreadPool.java index dde8ab40..9b2e3757 100644 --- a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeThreadPool.java +++ b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeThreadPool.java @@ -2,15 +2,18 @@ package net.md_5.bungee.scheduler; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; import java.util.logging.Level; import net.md_5.bungee.api.ProxyServer; public class BungeeThreadPool extends ScheduledThreadPoolExecutor { - public BungeeThreadPool(int corePoolSize, ThreadFactory threadFactory) + public BungeeThreadPool(ThreadFactory threadFactory) { - super( corePoolSize, threadFactory ); + super( Integer.MAX_VALUE, threadFactory ); + setKeepAliveTime( 5, TimeUnit.MINUTES ); + allowCoreThreadTimeOut( true ); } @Override