2017-06-22 2 views
0

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()?

+0

Pouvez-vous s'il vous plaît ouvrir un bug dans nettys bug-tracker avec le code de le reproduire. –

+0

@NormanMaurer, merci - J'ai créé le numéro suivant https://github.com/netty/netty/issues/6894 – Paulie22

Répondre