summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
index 1449b53beb..00b42094b1 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderImpl.java
@@ -55,7 +55,7 @@ public class ACLFileAccessControlProviderImpl
protected DefaultAccessControl _accessControl;
protected final Broker _broker;
- @ManagedAttributeField
+ @ManagedAttributeField( afterSet = "reloadAclFile")
private String _path;
@ManagedObjectFactoryConstructor
@@ -100,7 +100,6 @@ public class ACLFileAccessControlProviderImpl
}
catch(RuntimeException e)
{
- e.printStackTrace();
throw new IllegalConfigurationException(e.getMessage(), e);
}
finally
@@ -119,6 +118,26 @@ public class ACLFileAccessControlProviderImpl
_accessControl = new DefaultAccessControl(getPath(), _broker);
}
+ @SuppressWarnings("unused")
+ private void reloadAclFile()
+ {
+ try
+ {
+ DefaultAccessControl accessControl = new DefaultAccessControl(getPath(), _broker);
+ accessControl.open();
+ DefaultAccessControl oldAccessControl = _accessControl;
+ _accessControl = accessControl;
+ if(oldAccessControl != null)
+ {
+ oldAccessControl.close();
+ }
+ }
+ catch(RuntimeException e)
+ {
+ throw new IllegalConfigurationException(e.getMessage(), e);
+ }
+ }
+
@Override
public String getPath()
{