From f0dd3f1f2ee29c02e05a3c709780dde8a4cce674 Mon Sep 17 00:00:00 2001 From: "selva.andre" Date: Wed, 1 Aug 2012 23:37:55 +0200 Subject: [PATCH] Added shutdown hook to the server to unbind correctly the port --- .../java/org/dna/mqtt/moquette/server/Server.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/parser/src/main/java/org/dna/mqtt/moquette/server/Server.java b/parser/src/main/java/org/dna/mqtt/moquette/server/Server.java index 021212a3..e6b5b7d8 100644 --- a/parser/src/main/java/org/dna/mqtt/moquette/server/Server.java +++ b/parser/src/main/java/org/dna/mqtt/moquette/server/Server.java @@ -7,7 +7,6 @@ import org.apache.mina.core.session.IdleStatus; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder; import org.apache.mina.filter.codec.demux.DemuxingProtocolEncoder; -import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; import org.dna.mqtt.moquette.messaging.spi.impl.SimpleMessaging; import org.dna.mqtt.moquette.proto.ConnAckEncoder; @@ -71,11 +70,19 @@ public class Server { m_acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, DEFAULT_CONNECT_TIMEOUT ); m_acceptor.bind( new InetSocketAddress(PORT) ); LOG.info("Server binded"); + + //Bind a shutdown hook + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + stopServer(); + } + }); } protected void stopServer() { m_acceptor.unbind(); LOG.info("Server unbinded"); } - + }