在学习netty创建连接的时候产生一个报错
io.netty.channel.ChannelPipelineException: com.py.netty.server.DefaultServerHandler
is not a @Sharable handler, so can't be added or removed multiple times.
在服务端, 传入处理器的时候, 使用的是同一个实例, 所以会产生这个报错.
解决方案:
1. 不使用单实例, 使用new方法每次都创建一个新的
ch.pipeline().addLast(new DefaultServerHandler());
2. 添加注解 @Sharable
看一下自己的业务需求是否符合使用同一个实例
@ChannelHandler.Sharable
public class DefaultServerHandler extends ServerHandler {
...
}