|
|
@@ -34,9 +34,9 @@ public class TcpSocketServer implements IMServer {
|
|
|
@Value("${tcpsocket.port}")
|
|
|
private int port;
|
|
|
|
|
|
- private ServerBootstrap bootstrap = new ServerBootstrap();
|
|
|
- private EventLoopGroup bossGroup = new NioEventLoopGroup();
|
|
|
- private EventLoopGroup workGroup = new NioEventLoopGroup();
|
|
|
+ private ServerBootstrap bootstrap;
|
|
|
+ private EventLoopGroup bossGroup;
|
|
|
+ private EventLoopGroup workGroup;
|
|
|
|
|
|
@Override
|
|
|
public boolean isReady() {
|
|
|
@@ -45,6 +45,9 @@ public class TcpSocketServer implements IMServer {
|
|
|
|
|
|
@Override
|
|
|
public void start() {
|
|
|
+ bootstrap = new ServerBootstrap();
|
|
|
+ bossGroup = new NioEventLoopGroup();
|
|
|
+ workGroup = new NioEventLoopGroup();
|
|
|
// 设置为主从线程模型
|
|
|
bootstrap.group(bossGroup, workGroup)
|
|
|
// 设置服务端NIO通信类型
|
|
|
@@ -84,10 +87,14 @@ public class TcpSocketServer implements IMServer {
|
|
|
|
|
|
@Override
|
|
|
public void stop(){
|
|
|
- log.info("tcp server 停止");
|
|
|
- bossGroup.shutdownGracefully();
|
|
|
- workGroup.shutdownGracefully();
|
|
|
+ if(bossGroup != null && !bossGroup.isShuttingDown() && !bossGroup.isShutdown() ) {
|
|
|
+ bossGroup.shutdownGracefully();
|
|
|
+ }
|
|
|
+ if(workGroup != null && !workGroup.isShuttingDown() && !workGroup.isShutdown() ) {
|
|
|
+ workGroup.shutdownGracefully();
|
|
|
+ }
|
|
|
this.ready = false;
|
|
|
+ log.info("tcp server 停止");
|
|
|
}
|
|
|
|
|
|
|