@ManagedOperation(nonModifying = true, description = "Returns metadata concerning the current connection", changesConfiguredObjectState = false, skipAclCheck = true) SocketConnectionMetaData getConnectionMetaData();
@Override public boolean isAssociateAsIfChildren() { return _operation.getAnnotation(ManagedOperation.class).associateAsIfChildren(); }
@Override public String getDescription() { return _operation.getAnnotation(ManagedOperation.class).description(); }
@Override public boolean isNonModifying() { return _operation.getAnnotation(ManagedOperation.class).nonModifying(); }
@Override public boolean isSecure(final C subject, final Map<String, Object> arguments) { return _operation.getAnnotation(ManagedOperation.class).secure() || requiresSecure(subject, arguments); }
private boolean requiresSecure(C subject, final Map<String, Object> arguments) { String secureParam = _operation.getAnnotation(ManagedOperation.class).paramRequiringSecure(); for(OperationParameterFromAnnotation param : _params) { if(secureParam.equals(param.getName())) { Object value = getParameterValue(subject, arguments, param); if(value instanceof Boolean) { return (Boolean)value; } else { return value != null; } } } return false; }
@ManagedOperation(nonModifying = true, description = "Extract message store content", secure = true, changesConfiguredObjectState = false) Content exportMessageStore();
@Override @ManagedOperation(nonModifying = true, changesConfiguredObjectState = false, associateAsIfChildren = true, skipAclCheck = true) Collection<? extends Connection<?>> getConnections();
@ManagedOperation(nonModifying = true, description = "Restart the broker within the same JVM", changesConfiguredObjectState = false, log = true) void restart();
@ManagedOperation(nonModifying = true, description = "Returns metadata concerning the current connection", changesConfiguredObjectState = false, skipAclCheck = true) SocketConnectionMetaData getConnectionMetaData();
@ManagedOperation( description = "Causes the ACL rules to be reloaded. Changes are applied immediately.", changesConfiguredObjectState = true) void reload(); }
@ManagedOperation(nonModifying = true, description = "Initiates an orderly shutdown of the Broker.", changesConfiguredObjectState = false) void initiateShutdown();
@ManagedOperation(nonModifying = true, description = "Extract a PEM file containing the certificate for the autogenerated key.", changesConfiguredObjectState = false) Content getCertificate();
@ManagedOperation(changesConfiguredObjectState = false, nonModifying = true, description = "Force direct memory buffer compaction.") void compactMemory(); }
@ManagedOperation(nonModifying = true, changesConfiguredObjectState = false, skipAclCheck = true) Set<? extends Consumer<?, ?>> getConsumers(); }
@ManagedOperation(nonModifying = true, description = "Returns the principal of the currently authenticated user", changesConfiguredObjectState = false, skipAclCheck = true) Principal getUser();
@ManagedOperation(nonModifying = true, description = "Returns the groups to which the currently authenticated user belongs", changesConfiguredObjectState = false, skipAclCheck = true) Set<Principal> getGroups();
@ManagedOperation(nonModifying = true, description = "Extract the access control rules in the legacy access control rule format", changesConfiguredObjectState = false) Content extractRules(); }
@ManagedOperation(description = "create a new private key and a new certificate", changesConfiguredObjectState = true) void regenerateCertificate();
@ManagedOperation(description = "Re-download the certificate from the URL", changesConfiguredObjectState = false /* This should really be true but pragmatically it is set to false because we do not want to block the config thread while getting the certificate from the remote host */) void refreshCertificate(); }