summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-05-26 11:23:41 +0000
committerKeith Wall <kwall@apache.org>2012-05-26 11:23:41 +0000
commit248fa27fa45dab6e958a0aeb990fa51f3d1f12ed (patch)
tree67038c093bfa676f1dff9a7fc411a86de5c10740 /java
parent285e2be391eb11630cf3ba8a7843194864b5fbef (diff)
downloadqpid-python-248fa27fa45dab6e958a0aeb990fa51f3d1f12ed.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/qpid@1342886 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java15
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java2
2 files changed, 5 insertions, 12 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
index 61bbfce4a3..4aa1ba47cd 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
+++ b/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/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java
index dd2a82e9e1..21c9a85bf7 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java
+++ b/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();