diff options
| author | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-22 16:09:40 +0000 |
|---|---|---|
| committer | Andrew Donald Kennedy <grkvlt@apache.org> | 2010-07-22 16:09:40 +0000 |
| commit | c67cfe6cc625835ea7ed4b3af661c4a92989a57f (patch) | |
| tree | b5fed59c3e4d267f0ab42ff9877399d9e1c4796a /java/common/src | |
| parent | 4a3228c8799af99f073d8a1e215058d23a6eb0da (diff) | |
| download | qpid-python-c67cfe6cc625835ea7ed4b3af661c4a92989a57f.tar.gz | |
QPID-2657: Make Exceptions propagate to client for 0-10
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@966722 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
3 files changed, 8 insertions, 21 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java b/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java index 453921ea2b..9c56d36ade 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java +++ b/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java @@ -20,29 +20,19 @@ */ package org.apache.qpid.transport; -import java.util.Collections; - +import static org.apache.qpid.transport.Connection.State.*; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.Lock; - -import java.io.UnsupportedEncodingException; import org.apache.qpid.QpidException; import javax.security.sasl.Sasl; -import javax.security.sasl.SaslClient; import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; -import static org.apache.qpid.transport.Connection.State.*; - - /** * ServerDelegate * @@ -96,8 +86,7 @@ public class ServerDelegate extends ConnectionDelegate SaslServer ss = createSaslServer(mechanism); if (ss == null) { - conn.connectionClose - (ConnectionCloseCode.CONNECTION_FORCED, + conn.connectionClose(ConnectionCloseCode.CONNECTION_FORCED, "null SASL mechanism: " + mechanism); return; } @@ -107,14 +96,14 @@ public class ServerDelegate extends ConnectionDelegate catch (SaslException e) { conn.exception(e); + conn.connectionClose(ConnectionCloseCode.CONNECTION_FORCED, e.getMessage()); } } protected SaslServer createSaslServer(String mechanism) throws SaslException { - SaslServer ss = Sasl.createSaslServer - (mechanism, "AMQP", "localhost", null, null); + SaslServer ss = Sasl.createSaslServer(mechanism, "AMQP", "localhost", null, null); return ss; } @@ -141,6 +130,7 @@ public class ServerDelegate extends ConnectionDelegate catch (SaslException e) { conn.exception(e); + conn.connectionClose(ConnectionCloseCode.CONNECTION_FORCED, e.getMessage()); } } diff --git a/java/common/src/main/java/org/apache/qpid/transport/Session.java b/java/common/src/main/java/org/apache/qpid/transport/Session.java index d9a8e5550c..f361012c79 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Session.java +++ b/java/common/src/main/java/org/apache/qpid/transport/Session.java @@ -734,11 +734,7 @@ public class Session extends SessionInvoker if (lt(maxComplete, point)) { - if (state == CLOSED) - { - throw new SessionException(getException()); - } - else + if (state != CLOSED) { throw new SessionException (String.format diff --git a/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java b/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java index 6146f029b2..05f3947654 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java +++ b/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java @@ -139,6 +139,7 @@ public class SessionDelegate @Override public void executionException(Session ssn, ExecutionException exc) { ssn.setException(exc); + ssn.getSessionListener().exception(ssn, new SessionException(exc)); } @Override public void messageTransfer(Session ssn, MessageTransfer xfr) |
