From 46f1bb9016c6fab93e488ba5c6fcc9ead920c947 Mon Sep 17 00:00:00 2001 From: HongKee Moon <hkmoon@me.com> Date: Tue, 13 Jan 2015 12:05:20 +0100 Subject: [PATCH] Add ThreadPool and ServerConnector configuration for handling high load --- src/main/java/bdv/server/BigDataServer.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/bdv/server/BigDataServer.java b/src/main/java/bdv/server/BigDataServer.java index ae18d38..027c465 100644 --- a/src/main/java/bdv/server/BigDataServer.java +++ b/src/main/java/bdv/server/BigDataServer.java @@ -3,13 +3,15 @@ package bdv.server; import java.util.HashMap; import mpicbg.spim.data.SpimDataException; - +import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.server.handler.RequestLogHandler; import org.eclipse.jetty.server.handler.StatisticsHandler; import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.thread.QueuedThreadPool; public class BigDataServer { @@ -26,10 +28,21 @@ public class BigDataServer final int port = args.length > 1 ? Integer.parseInt( args[ 1 ] ) : 8080; System.setProperty( "org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog" ); - final Server server = new Server( port ); + + // Threadpool for multiple connections + final Server server = new Server( new QueuedThreadPool( 1000, 10 ) ); + + // ServerConnector configuration + final ServerConnector connector = new ServerConnector( server ); + connector.setHost( "localhost" ); + connector.setPort( port ); + LOG.info( "Set connectors: " + connector ); + server.setConnectors( new Connector[] { connector } ); final String baseURL = "http://" + server.getURI().getHost() + ":" + port; + LOG.info( "Server Base URL: " + baseURL ); + // Handler initialization final StatisticsHandler statHandler = new StatisticsHandler(); final HandlerCollection handlers = new HandlerCollection(); -- GitLab