diff options
| author | Keith Wall <kwall@apache.org> | 2012-05-26 11:23:41 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-05-26 11:23:41 +0000 |
| commit | 175c11c7b8056c144b6a9dd8b132cccba7ca442d (patch) | |
| tree | 78fe915be36fd4ac8099a09d73e8b2f927ee74a6 /qpid/java | |
| parent | c9c9bb94e42523b29e8bd3cc7e07aee59fcb96d4 (diff) | |
| download | qpid-python-175c11c7b8056c144b6a9dd8b132cccba7ca442d.tar.gz | |
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.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1342886 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
2 files changed, 5 insertions, 12 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java index 61bbfce4a3..4aa1ba47cd 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java @@ -115,21 +115,11 @@ public abstract class ApplicationRegistry implements IApplicationRegistry 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 ApplicationRegistry implements IApplicationRegistry } 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()) { diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java index dd2a82e9e1..21c9a85bf7 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java @@ -89,7 +89,7 @@ public class KerberosAuthenticationManager implements AuthenticationManager // 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(); |
