summaryrefslogtreecommitdiff
path: root/qpid/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
commit175c11c7b8056c144b6a9dd8b132cccba7ca442d (patch)
tree78fe915be36fd4ac8099a09d73e8b2f927ee74a6 /qpid/java
parentc9c9bb94e42523b29e8bd3cc7e07aee59fcb96d4 (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java15
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/KerberosAuthenticationManager.java2
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();