Repository: qpid-jms Updated Branches: refs/heads/master 91fd06d65 -> a083535fd
QPIDJMS-191 Fix CI test failure Improve the with error handling to capture issue with SSL handskahe and context creation. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/a083535f Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/a083535f Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/a083535f Branch: refs/heads/master Commit: a083535fd6dffd53c1dd5783f03fcb7dc07f49a1 Parents: 91fd06d Author: Timothy Bish <[email protected]> Authored: Thu Jul 14 13:04:40 2016 -0400 Committer: Timothy Bish <[email protected]> Committed: Thu Jul 14 13:04:40 2016 -0400 ---------------------------------------------------------------------- .../jms/transports/netty/NettyTcpTransport.java | 16 ++++++++++++---- .../qpid/jms/transports/netty/NettyWsTransport.java | 5 +++++ 2 files changed, 17 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a083535f/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransport.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransport.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransport.java index 2a49a3e..5908508 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransport.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransport.java @@ -356,14 +356,17 @@ public class NettyTcpTransport implements Transport { } private void configureChannel(final Channel channel) throws Exception { - // Default event handlers takes care of exceptions and channel inactivity, which - // prevents missed errors if the SslHandler fails during creation and removes the - // need for copying this implementation. channel.pipeline().addLast(new NettyDefaultHandler()); if (isSecure()) { - SslHandler sslHandler = TransportSupport.createSslHandler(getRemoteLocation(), getSslOptions()); + SslHandler sslHandler = null; + try { + sslHandler = TransportSupport.createSslHandler(getRemoteLocation(), getSslOptions()); + } catch (Exception ex) { + handleException(channel, ex); + return; + } sslHandler.handshakeFuture().addListener(new GenericFutureListener<Future<Channel>>() { @Override @@ -411,6 +414,11 @@ public class NettyTcpTransport implements Transport { protected class NettyTcpTransportHandler extends SimpleChannelInboundHandler<ByteBuf> { @Override + public void exceptionCaught(ChannelHandlerContext context, Throwable cause) throws Exception { + handleException(context.channel(), cause); + } + + @Override public void channelActive(ChannelHandlerContext context) throws Exception { // In the Secure case we need to let the handshake complete before we // trigger the connected event. http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a083535f/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWsTransport.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWsTransport.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWsTransport.java index a69642d..8e7a7c5 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWsTransport.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWsTransport.java @@ -156,5 +156,10 @@ public class NettyWsTransport extends NettyTcpTransport { ch.close(); } } + + @Override + public void exceptionCaught(ChannelHandlerContext context, Throwable cause) throws Exception { + handleException(context.channel(), cause); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
