From 6f7f2ad8136da4b0d01ab990e1f7e04ee217f3c9 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Thu, 26 Apr 2018 21:43:35 +0300 Subject: [PATCH] shutodwn hook --- core/src/main/java/mc/core/Main.java | 1 + core/src/main/java/mc/core/network/Server.java | 1 + .../java/mc/core/network/proto_125/netty/NettyServer.java | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/core/src/main/java/mc/core/Main.java b/core/src/main/java/mc/core/Main.java index 3aa43c9..e551b6a 100644 --- a/core/src/main/java/mc/core/Main.java +++ b/core/src/main/java/mc/core/Main.java @@ -33,6 +33,7 @@ public class Main { gameLoop.start(); Server server = appContext.getBean("server", Server.class); + Runtime.getRuntime().addShutdownHook(new Thread(server::stop)); try { server.start(); } catch (StartServerException e) { diff --git a/core/src/main/java/mc/core/network/Server.java b/core/src/main/java/mc/core/network/Server.java index 210a6b4..c419e65 100644 --- a/core/src/main/java/mc/core/network/Server.java +++ b/core/src/main/java/mc/core/network/Server.java @@ -6,4 +6,5 @@ package mc.core.network; public interface Server { void start() throws StartServerException; + void stop(); } diff --git a/proto125_netty/src/main/java/mc/core/network/proto_125/netty/NettyServer.java b/proto125_netty/src/main/java/mc/core/network/proto_125/netty/NettyServer.java index d7bb55c..10b6ab2 100644 --- a/proto125_netty/src/main/java/mc/core/network/proto_125/netty/NettyServer.java +++ b/proto125_netty/src/main/java/mc/core/network/proto_125/netty/NettyServer.java @@ -72,4 +72,11 @@ public class NettyServer implements Server { throw new StartServerException(e); } } + + @Override + public void stop() { + log.info("Server shutdown"); + workerGroup.shutdownGracefully(); + bossGroup.shutdownGracefully(); + } }