You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2014/02/24 22:09:54 UTC

git commit: https://issues.apache.org/jira/browse/AMQ-5075

Repository: activemq
Updated Branches:
  refs/heads/trunk f9451e56e -> da72aa657


https://issues.apache.org/jira/browse/AMQ-5075

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/da72aa65
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/da72aa65
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/da72aa65

Branch: refs/heads/trunk
Commit: da72aa65700d14285617477b8958b5bd5924d1b7
Parents: f9451e5
Author: Timothy Bish <ta...@gmai.com>
Authored: Mon Feb 24 16:09:46 2014 -0500
Committer: Timothy Bish <ta...@gmai.com>
Committed: Mon Feb 24 16:09:46 2014 -0500

----------------------------------------------------------------------
 .../activemq/transport/amqp/AmqpProtocolConverter.java      | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/da72aa65/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
----------------------------------------------------------------------
diff --git a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
index 7e24957..a1730c0 100644
--- a/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
+++ b/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
@@ -27,6 +27,7 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import javax.jms.InvalidClientIDException;
 import javax.jms.InvalidSelectorException;
 
 import org.apache.activemq.command.ActiveMQDestination;
@@ -426,7 +427,13 @@ class AmqpProtocolConverter implements IAmqpProtocolConverter {
 
                 if (response.isException()) {
                     Throwable exception = ((ExceptionResponse) response).getException();
-                    protonConnection.setCondition(new ErrorCondition(AmqpError.UNAUTHORIZED_ACCESS, exception.getMessage()));
+                    if (exception instanceof SecurityException) {
+                        protonConnection.setCondition(new ErrorCondition(AmqpError.UNAUTHORIZED_ACCESS, exception.getMessage()));
+                    } else if (exception instanceof InvalidClientIDException) {
+                        protonConnection.setCondition(new ErrorCondition(AmqpError.INVALID_FIELD, exception.getMessage()));
+                    } else {
+                        protonConnection.setCondition(new ErrorCondition(AmqpError.ILLEGAL_STATE, exception.getMessage()));
+                    }
                     protonConnection.close();
                     pumpProtonToSocket();
                     amqpTransport.onException(IOExceptionSupport.create(exception));