NettyServer.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.zksy.manhole.config;
  2. import io.netty.channel.EventLoopGroup;
  3. import io.netty.channel.socket.SocketChannel;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Component;
  9. import javax.annotation.PostConstruct;
  10. import javax.annotation.PreDestroy;
  11. @Slf4j
  12. @Component
  13. public class NettyServer {
  14. private static Logger logger = LoggerFactory.getLogger(NettyServer.class);
  15. // 保存客户端连接的通道引用
  16. public static SocketChannel sc = null;
  17. public static EventLoopGroup acceptor;
  18. public static EventLoopGroup worker;
  19. @Autowired
  20. private NettyServerThread nettyServerThread;
  21. @PostConstruct
  22. public void init() {
  23. new Thread(() -> nettyServerThread.startServer()).start();
  24. System.out.println("nettyServer启动");
  25. logger.info("nettyServer启动");
  26. }
  27. @PreDestroy
  28. public void exit() {
  29. if (acceptor != null) {
  30. acceptor.shutdownGracefully();
  31. }
  32. if (worker != null) {
  33. worker.shutdownGracefully();
  34. }
  35. }
  36. }