Hi, About SLING-3278 - IMO execute(ServiceReference) at [1] is an unnecessary leak of implementation details, it makes no sense at the API level. It's HealthChecks that we are executing, not service references.
IIUC the root cause is that the HealthCheck API doesn't provide metadata that it should: tags, name, optional JMX MBean name, unique ID maybe, all these things clearly belong to a HealthCheck, so the API should provide access to them, even if they are defined by service properties. I suggest adding a HealthCheckMetadata interface to provide those things (tags, name, optional things in a Map maybe), and add a HealthCheck.getMetadata() method that returns this. That'll break existing HealthCheck implementations, which we indicate by bumping up the package version number, as this quite a new API it's better to fix it now than later. -Bertrand [1] https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/HealthCheckExecutor.java