diff options
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java b/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java index 0d36b96cd4..24f95d7798 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java @@ -71,7 +71,7 @@ public class SSLBufferingSender implements Sender<ByteBuffer> return; } log.debug("Closing SSL connection"); - + doSend(); engine.closeOutbound(); try { @@ -140,7 +140,10 @@ public class SSLBufferingSender implements Sender<ByteBuffer> public void send() { - doSend(); + if(!closed.get()) + { + doSend(); + } } public synchronized void send(ByteBuffer appData) @@ -154,6 +157,10 @@ public class SSLBufferingSender implements Sender<ByteBuffer> newBuf.flip(); _appData = newBuf; } + if (closed.get()) + { + throw new SenderException("SSL Sender is closed"); + } doSend(); if(!appData.hasRemaining()) { @@ -169,10 +176,6 @@ public class SSLBufferingSender implements Sender<ByteBuffer> private synchronized void doSend() { - if (closed.get()) - { - throw new SenderException("SSL Sender is closed"); - } HandshakeStatus handshakeStatus; Status status; |