Interface HealthCheck
- All Known Implementing Classes:
AbstractHealthCheck,AttachmentDataFileStoreCheck,DatabaseCollationHealthCheck,DatabaseSetupHealthCheck,DbConnectionHealthCheck,FakeHealthCheck,HealthCheckTemplate,HomeHealthCheck,HttpThreadsVsDbConnectionsHealthCheck,LicenseValidationHealthCheck,MSSQLDriverMigrationHealthCheck,MySqlJdbcUrlHealthCheck,OperatingSystemFreeMemoryHealthCheck
public interface HealthCheck
A health check performed by Confluence during some phase (or phases) of its lifecycle.
A check should:
- Return an empty collection on success.
- Return a non-empty collection otherwise, e.g. failure.
- Throw an exception if called during not applicable phase
- Check things that prevent startup or otherwise require attention from the administrator.
- Not check things that Confluence can fix by itself (e.g. creating a needed directory).
- Be short-running, because it is invoked synchronously.
- Release any acquired resources before returning from its
perform(LifecyclePhase)method. - Not have side-effects (e.g. logging its own messages or Johnson events).
- Since:
- 6.6.0
-
Method Summary
Modifier and TypeMethodDescriptiondefault StringgetId()Returns the unique ID of this check.@NonNull Collection<HealthCheck> Returns the checks that must have a non-EventLevel.FATALresult before this check can be run.booleanisApplicableFor(LifecyclePhase phase) Checks if current HealthCheck is applicable for given phase@NonNull List<HealthCheckResult> perform(LifecyclePhase phase) Performs health check for given phase.
-
Method Details
-
getId
Returns the unique ID of this check.- Returns:
- a stable, unique, non-blank ID
-
getPrerequisites
@NonNull Collection<HealthCheck> getPrerequisites()Returns the checks that must have a non-EventLevel.FATALresult before this check can be run.- Returns:
- see above
-
perform
Performs health check for given phase.If the health check passes, an empty list will be returned.
- Returns:
- a collection of
HealthCheckResult - Throws:
UnsupportedOperationException- if not applicable phase is provided
-
isApplicableFor
Checks if current HealthCheck is applicable for given phase- Returns:
- true if HealthCheck is applicable for the phase
-