Nous utilisons netty-handler 4.0.28.Final. Nous avons un test où nous écrivons xml invalide à un canal de test. Comme ci-dessous ctx.close() serait appelé et channelInactive se déclencherait.channelInactive() ne pas appelé lorsque j'appelle close() sur le ChannelHandlerContext
@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();
}
J'ai été chargé de la mise à jour Netty à Netty-tout 4.1.11.Final. Depuis la mise à jour, channelInactive n'est pas appelé. (Seulement est appelé quand quand nous appelons finish() sur le EmbeddedChannel pendant le nettoyage).
Pourquoi channelInactive ne serait plus appelé lorsque nous appellerions ctx.close()?
Pouvez-vous s'il vous plaît ouvrir un bug dans nettys bug-tracker avec le code de le reproduire. –
@NormanMaurer, merci - J'ai créé le numéro suivant https://github.com/netty/netty/issues/6894 – Paulie22