diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2015-01-05 16:45:58 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2015-01-05 16:45:58 +0000 |
| commit | 87d3ca113acad85afe0143069484f0640427928a (patch) | |
| tree | 7e9f3a4175856f6c955c8b4179937195d1441039 /qpid/java/broker-plugins | |
| parent | 367a7d5bb192ee6efb402f14eda617b2736836e4 (diff) | |
| download | qpid-python-87d3ca113acad85afe0143069484f0640427928a.tar.gz | |
QPID-6295 : [Java Broker] reload ACL config when the file value is changed
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1649587 13f79535-47bb-0310-9956-ffa450edef68
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.java | 23 |
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() { |
