我们一直在使用netty-handler 4.0.28.Final。我们有一个测试,我们将无效的xml写入测试通道。如下所示,将调用ctx.close()并触发channelInactive。
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable exc) {
if (connectionListener == null) {
return;
}
// Treat unexpected exceptions as fatal to the connection
try {
connectionListener.connectionError(exc);
} finally {
ctx.close();
}
}
@Override
public void channelInactive(ChannelHandlerContext ctx) throws Exception {
if (connectionListener == null) {
return;
}
connectionListener.connectionClosed();
}
我的任务是将netty更新为netty-all 4.1.11.Final。自更新以来,未调用channelInactive。 (只有在整理过程中我们在EmbeddedChannel上调用finish()时才会调用。)
为什么在调用ctx.close()时不再调用channelInactive?