2017-02-13 11:40
问题确实是出在f.channel().closeFuture().sync(); 当执行到这一步时阻塞了当前线程。按照 @JFinal 提供的新创建线程解决。
具体解决办法是让Netty的功能类 NettyServerBootstrap 实现Runnable接口:
public class NettyServerBootstrap implements Runnable
并将bind()方法中的具体操作在run()方法中实现:
@Override
public void run() {
bind();
}
启动Netty时,还是在afterJFinalStart()方法中调用即可。
解决思路如此,就不在贴代码了 。