Hi,
Ok, so how about
>
> public interface HealthCheck {
> HealthCheckResult execute();
>
> // Unique ID (path of the Resource used to define
> / this item, OSGi config PID, etc.)
> public String getId();
>
> // Tags are used to select HCItems when checking a subset of them
> public Set<String> getTags();
>
> // Additional info: name, description, how to fix etc
> public Map<String, String> getInfo();
> }
>
> public interface HealthCheckResult {
> public HealthCheck getHealthCheck();
> // If this is false, all checks were successful
> public boolean anythingToReport();
> public List<LogMessage> getLogMessages();
> }
>
> And HealthCheck are just OSGi services.
>
>
Sounds good, except :)
- I'm not sure whether the info part should be part of the result - if it's
static it can be part of the interface, but I could imagine that it might
change and be potentially different between executions.
- the ID does not need to be part of the interface, this can be part of the
service registration properties.
- tags: i think these could be part of the service registration properties
as well
The benefit of having the info as service reg props is that the
filtering/checking can be done without really instantiating/getting the
services.
Regards
Carsten
--
Carsten Ziegeler
[email protected]