From b8cd92b50718f4aae2c319bfc9a79fb82a77b5c1 Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Wed, 16 Sep 2020 10:26:57 +0200 Subject: [PATCH] Create the webserver-connection syncronized to make sure it is fully started before it can get closed again. Fixes #89 --- .../bluecolored/bluemap/core/webserver/WebServer.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/BlueMapCore/src/main/java/de/bluecolored/bluemap/core/webserver/WebServer.java b/BlueMapCore/src/main/java/de/bluecolored/bluemap/core/webserver/WebServer.java index ba8a290e..5a5d935d 100644 --- a/BlueMapCore/src/main/java/de/bluecolored/bluemap/core/webserver/WebServer.java +++ b/BlueMapCore/src/main/java/de/bluecolored/bluemap/core/webserver/WebServer.java @@ -59,7 +59,7 @@ public WebServer(int port, int maxConnections, InetAddress bindAdress, HttpReque } @Override - public void run(){ + public synchronized void start() { close(); connectionThreads = new ThreadPoolExecutor(maxConnections, maxConnections, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); @@ -73,6 +73,13 @@ public void run(){ return; } + super.start(); + } + + @Override + public void run(){ + if (server == null) return; + Logger.global.logInfo("WebServer started."); while (!server.isClosed() && server.isBound()){ @@ -98,7 +105,7 @@ public void run(){ Logger.global.logInfo("WebServer closed."); } - public void close(){ + public synchronized void close(){ if (connectionThreads != null) connectionThreads.shutdown(); try {