Author: rgodfrey
Date: Fri Apr 11 21:24:55 2014
New Revision: 1586780

URL: http://svn.apache.org/r1586780
Log:
QPID-5673 : [Java Broker] Check the virtual host has been found before 
attempting to register the connection with the virtual host

Modified:
    
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java

Modified: 
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java?rev=1586780&r1=1586779&r2=1586780&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
 Fri Apr 11 21:24:55 2014
@@ -134,7 +134,6 @@ public class Connection_1_0 implements C
             host = _broker.getDefaultVirtualHost();
         }
         _vhost = _broker.getVirtualHostRegistry().getVirtualHost(host);
-        _vhost.getConnectionRegistry().registerConnection(this);
 
         if(_vhost == null)
         {
@@ -143,11 +142,14 @@ public class Connection_1_0 implements C
             err.setDescription("Unknown hostname " + _conn.getLocalHostname());
             _conn.close(err);
         }
-        Subject authSubject = 
_subjectCreator.createSubjectWithGroups(_conn.getUser());
-        _subject.getPrincipals().addAll(authSubject.getPrincipals());
-        
_subject.getPublicCredentials().addAll(authSubject.getPublicCredentials());
-        
_subject.getPrivateCredentials().addAll(authSubject.getPrivateCredentials());
-
+        else
+        {
+            _vhost.getConnectionRegistry().registerConnection(this);
+            Subject authSubject = 
_subjectCreator.createSubjectWithGroups(_conn.getUser());
+            _subject.getPrincipals().addAll(authSubject.getPrincipals());
+            
_subject.getPublicCredentials().addAll(authSubject.getPublicCredentials());
+            
_subject.getPrivateCredentials().addAll(authSubject.getPrivateCredentials());
+        }
     }
 
     public void remoteSessionCreation(SessionEndpoint endpoint)
@@ -218,7 +220,10 @@ public class Connection_1_0 implements C
         {
             _closeTasks.clear();
         }
-        _vhost.getConnectionRegistry().deregisterConnection(this);
+        if(_vhost != null)
+        {
+            _vhost.getConnectionRegistry().deregisterConnection(this);
+        }
 
 
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to