summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2010-07-22 16:09:40 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2010-07-22 16:09:40 +0000
commitc67cfe6cc625835ea7ed4b3af661c4a92989a57f (patch)
treeb5fed59c3e4d267f0ab42ff9877399d9e1c4796a /java/common/src
parent4a3228c8799af99f073d8a1e215058d23a6eb0da (diff)
downloadqpid-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')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java22
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Session.java6
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java1
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)