summaryrefslogtreecommitdiff
path: root/qpid/java/common
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
commit4d02e072b47235cfb56635412aea6a4ed30e6869 (patch)
treeff3e82ac5ac3921a972393a0b55671fb7e5c06fb /qpid/java/common
parenta715cbe868e3834edb13c7baf3b98546c15a219e (diff)
downloadqpid-python-4d02e072b47235cfb56635412aea6a4ed30e6869.tar.gz
QPID-2657: Make Exceptions propagate to client for 0-10
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@966722 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java22
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java6
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java1
3 files changed, 8 insertions, 21 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
index 453921ea2b..9c56d36ade 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
+++ b/qpid/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/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
index d9a8e5550c..f361012c79 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/qpid/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/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
index 6146f029b2..05f3947654 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/SessionDelegate.java
+++ b/qpid/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)