【问题标题】:Netty 4.0 EncoderException lossNetty 4.0 EncoderException 丢失
【发布时间】:2015-12-31 10:25:53
【问题描述】:

我正在使用 Netty 4.0.32.Final。

当 NPE 出现在我的编解码器中并带有这样的堆栈跟踪时:

my.Codec.encode(Codec.java:27)
io.netty.handler.codec.ByteToMessageCodec$Encoder.encode(ByteToMessageCodec.java:168)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
java.lang.Thread.run(Thread.java:745)

它消失在某个地方。所以我无法在另一个 Hanler 的 exceptionCaught 方法中处理它。

【问题讨论】:

    标签: netty


    【解决方案1】:

    这是一个“出站异常”,因此不会出现在 exceptionCaught(...) 中。 exceptionCaught(...) 只通知入站异常。上一次 write(...) 操作的 ChannelFuture 将失败并出现异常。

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2015-11-15
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      相关资源
      最近更新 更多