最近更新了Netty的一个新版本netty-all-4.0.45.Final.jar,后面就出现了UnsupportedOperationException的异常,后面根据报错找到了byte[] bytes = msg.readBytes(length).array();这一行代码,这是在我们自定义的解码器中出现的错误,后面通过找原因发现由于ByteBuf是使用了DirectBuffer,所以不支持array()的操作,所以导致出现了这个问题,后面更新代码为:
byte[] data = new byte[length];
msg.readBytes(data);
解决该异常问题。
网友评论