You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/09/15 23:08:32 UTC

svn commit: r1625164 - /qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java

Author: rgodfrey
Date: Mon Sep 15 21:08:32 2014
New Revision: 1625164

URL: http://svn.apache.org/r1625164
Log:
QPID-6100 : [JMS AMQP 1.0 Client] throw correct exception when connection cannot be authenticated

Modified:
    qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java

Modified: qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java?rev=1625164&r1=1625163&r2=1625164&view=diff
==============================================================================
--- qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java (original)
+++ qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java Mon Sep 15 21:08:32 2014
@@ -18,23 +18,34 @@
  */
 package org.apache.qpid.amqp_1_0.jms.impl;
 
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import javax.jms.ConnectionConsumer;
+import javax.jms.Destination;
+import javax.jms.ExceptionListener;
+import javax.jms.IllegalStateException;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.ServerSessionPool;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
+import javax.net.ssl.SSLContext;
+
 import org.apache.qpid.amqp_1_0.client.ConnectionErrorException;
 import org.apache.qpid.amqp_1_0.client.ConnectionException;
 import org.apache.qpid.amqp_1_0.jms.Connection;
 import org.apache.qpid.amqp_1_0.jms.ConnectionMetaData;
 import org.apache.qpid.amqp_1_0.jms.Session;
 import org.apache.qpid.amqp_1_0.transport.Container;
-
-import javax.jms.*;
-import javax.jms.IllegalStateException;
-import javax.jms.Queue;
-import javax.net.ssl.SSLContext;
-
-import java.security.NoSuchAlgorithmException;
-import java.util.*;
-
 import org.apache.qpid.amqp_1_0.type.Symbol;
-import org.apache.qpid.amqp_1_0.type.transport.*;
+import org.apache.qpid.amqp_1_0.type.transport.ConnectionError;
 import org.apache.qpid.amqp_1_0.type.transport.Error;
 
 public class ConnectionImpl implements Connection, QueueConnection, TopicConnection
@@ -167,6 +178,16 @@ public class ConnectionImpl implements C
                     _conn.setConnectionErrorTask(new ConnectionErrorTask());
                     // TODO - retrieve negotiated AMQP version
                     _connectionMetaData = new ConnectionMetaDataImpl(1,0,0);
+                    Error connectionError = _conn.getConnectionError();
+                    if(connectionError != null)
+                    {
+                        throw new JMSException(connectionError.getDescription(),
+                                               connectionError.getCondition().toString());
+                    }
+                    else if(_conn.getEndpoint().requiresSASL() && !_conn.getEndpoint().isAuthenticated())
+                    {
+                        throw new JMSException("Authentication Failed");
+                    }
                 }
                 catch (ConnectionException e)
                 {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org