Author: kwall
Date: Sat May 26 11:23:41 2012
New Revision: 1342886

URL: http://svn.apache.org/viewvc?rev=1342886&view=rev
Log:
QPID-3997: AuthenticationManagers not cleaned up on error path

We have been seeing ApplicationRegistryShutdownTest fail regularly on JDK1.7 on 
Jenkins CI for the last week.  This is caused by the ApplicationRegistry
failing to clean up on the error path where many AuthenticationManagers are 
configured but one is not designated as default.

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java?rev=1342886&r1=1342885&r2=1342886&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 Sat May 26 11:23:41 2012
@@ -115,21 +115,11 @@ public abstract class ApplicationRegistr
 
     private BundleContext _bundleContext;
 
-    protected static Logger get_logger()
-    {
-        return _logger;
-    }
-
     protected Map<InetSocketAddress, QpidAcceptor> getAcceptors()
     {
         return _acceptors;
     }
 
-    private QpidAcceptor getAcceptor(SocketAddress address)
-    {
-        return _acceptors.get(address);
-    }
-
     protected void setManagedObjectRegistry(ManagedObjectRegistry 
managedObjectRegistry)
     {
         _managedObjectRegistry = managedObjectRegistry;
@@ -409,12 +399,15 @@ public abstract class ApplicationRegistr
         }
         else
         {
+            for (AuthenticationManager authenticationManger : 
authManagersByClass.values())
+            {
+                authenticationManger.close();
+            }
             throw new ConfigurationException("If more than one authentication 
manager is configured a default MUST be specified.");
         }
 
         Map<Integer,AuthenticationManager> authManagers = new HashMap<Integer, 
AuthenticationManager>();
         authManagers .put(null, defaultAuthMgr);
-        String host = _configuration.getBind();
 
         for(Map.Entry<Integer,String> portMapping : 
_configuration.getPortAuthenticationMappings().entrySet())
         {

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java?rev=1342886&r1=1342885&r2=1342886&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java
 Sat May 26 11:23:41 2012
@@ -89,7 +89,7 @@ public class KerberosAuthenticationManag
             // If there is no configuration for this plugin then don't load it.
             if (configuration == null)
             {
-                _logger.info("No authentication-manager configuration found 
for AnonymousAuthenticationManager");
+                _logger.info("No authentication-manager configuration found 
for KerberosAuthenticationManager");
                 return null;
             }
             KerberosAuthenticationManager kerberosAuthenticationManager = new 
KerberosAuthenticationManager();



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

Reply via email to