针对于Netty中重连可能出现 is not a @Sharable handler 报错的处理方法

版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/82669656

is not a @Sharable handler 报错的处理方法

在创建服务端后 clien重连服务端 会报错 is not a @Sharable handler

我在网上查后一个很简单的方法 在ServerChannel类上添加@ChannelHandler.Sharable注解就可以了
截图如下:

添加Sharable


这个注解适用于标注一个channel handler可以被多个channel安全地共享。
当时我出现这个问题的情况是client客户端连接服务端中断后,channel就应该是关闭的

这个时候有两种方法

1.重新new一个channel 等待客户端的连接
2.对于对应使用的服务器的channelHandler类可以添加注解@ChannelHandler.Sharable
这个注解就是让这个handler可以被多个channel共享
当客户端重连时可以重新连接上服务端并且正常的发送数据。
目前我对这个问题的处理方法就是这样。如果以后遇到新的解决方法我会补充。

猜你喜欢

转载自blog.csdn.net/qq_28198181/article/details/82669656