在學習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 {
...
}