summaryrefslogtreecommitdiff
path: root/qpid/java/common/src
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2013-05-12 09:42:26 +0000
committerRobert Godfrey <rgodfrey@apache.org>2013-05-12 09:42:26 +0000
commit8ec8d1be6c7a81217249673c27435d5ae37d19db (patch)
tree8acb2de8342a7d5e798830d9388ca5be771c6aa9 /qpid/java/common/src
parent7091f0c0dec8a5c44177b96eb0017b3d944f008f (diff)
downloadqpid-python-8ec8d1be6c7a81217249673c27435d5ae37d19db.tar.gz
QPID-4831 : [Java Broker] Fix closedown on SSL when SSL and TCP can use same port
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1481502 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common/src')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java
index 0d36b96cd4..24f95d7798 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLBufferingSender.java
+++ b/qpid/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;