From 11aad129b136de6913cc55555913f7c55a6efb24 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Fri, 5 Oct 2012 11:48:43 +0000 Subject: QPID-4359: stop logging spurious error messages (when caused by expected behaviour of an SSLSocket) during closure of a connection using SSL git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1394457 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/transport/network/io/IoReceiver.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java index 7e63071c16..a36e5fedee 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java @@ -161,10 +161,7 @@ final class IoReceiver implements Runnable, Closeable } catch (Throwable t) { - if (!(shutdownBroken && - t instanceof SocketException && - t.getMessage().equalsIgnoreCase("socket closed") && - closed.get())) + if (shouldReport(t)) { receiver.exception(t); } @@ -183,4 +180,19 @@ final class IoReceiver implements Runnable, Closeable } } + private boolean shouldReport(Throwable t) + { + boolean brokenClose = closed.get() && + shutdownBroken && + t instanceof SocketException && + "socket closed".equalsIgnoreCase(t.getMessage()); + + boolean sslSocketClosed = closed.get() && + socket instanceof SSLSocket && + t instanceof SocketException && + "Socket is closed".equalsIgnoreCase(t.getMessage()); + + return !brokenClose && !sslSocketClosed; + } + } -- cgit v1.2.1