summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-04-09 14:16:08 +0000
committerRobert Gemmell <robbie@apache.org>2010-04-09 14:16:08 +0000
commit2a6a181b22220724b6a3a68d898f5260e1e884b1 (patch)
tree06a54a9ed7ae5e5eca3de6c94b9dc1f85eea66ce /java/common/src
parentd21645587108181012bc9d822086e10b16730a49 (diff)
downloadqpid-python-2a6a181b22220724b6a3a68d898f5260e1e884b1.tar.gz
QPID-2379: add Connection.close() method implementation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@932428 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Connection.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/java/common/src/main/java/org/apache/qpid/transport/Connection.java
index 2ca5d28f42..1f559f690f 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/Connection.java
+++ b/java/common/src/main/java/org/apache/qpid/transport/Connection.java
@@ -532,13 +532,23 @@ public class Connection extends ConnectionInvoker
public void close()
{
+ close(ConnectionCloseCode.NORMAL, null);
+ }
+
+ public void mgmtClose()
+ {
+ close(ConnectionCloseCode.CONNECTION_FORCED, "The connection was closed using the broker's management interface.");
+ }
+
+ public void close(ConnectionCloseCode replyCode, String replyText, Option ... _options)
+ {
synchronized (lock)
{
switch (state)
{
case OPEN:
state = CLOSING;
- connectionClose(ConnectionCloseCode.NORMAL, null);
+ connectionClose(replyCode, replyText, _options);
Waiter w = new Waiter(lock, timeout);
while (w.hasTime() && state == CLOSING && error == null)
{
@@ -547,14 +557,14 @@ public class Connection extends ConnectionInvoker
if (error != null)
{
- close();
+ close(replyCode, replyText, _options);
throw new ConnectionException(error);
}
switch (state)
{
case CLOSING:
- close();
+ close(replyCode, replyText, _options);
throw new ConnectionException("close() timed out");
case CLOSED:
break;