@Override
public boolean isRegistered(ObjectName name) {
Throwable error = null;
Boolean shouldAuditLog = null;
final boolean readOnly = true;
try {
if (delegates.size() > 0) {
for (MBeanServerPlugin delegate : delegates) {
if (delegate.accepts(name) && delegate.isRegistered(name)) {
authorizeMBeanOperation(delegate, name, IS_REGISTERED, null, JmxAction.Impact.READ_ONLY);
if (delegate.shouldAuditLog()) {
shouldAuditLog = true;
}
return true;
}
}
}
shouldAuditLog = true;
authorizeMBeanOperation(rootMBeanServer, name, IS_REGISTERED, null, JmxAction.Impact.READ_ONLY);
return rootMBeanServer.isRegistered(name);
} catch (Exception e) {
error = e;
throw makeRuntimeException(e);
} finally {
if (shouldAuditLog == null || shouldAuditLog) {
new MBeanServerAuditLogRecordFormatter(this, error, readOnly).isRegistered(name);
}
}
}