Class HealthMetaDataProducer

java.lang.Object
com.kingsrook.qqq.backend.core.model.metadata.MetaDataProducer<QJavalinMetaData>
com.kingsrook.qqq.middleware.health.HealthMetaDataProducer
All Implemented Interfaces:
MetaDataProducerInterface<QJavalinMetaData>

public class HealthMetaDataProducer extends MetaDataProducer<QJavalinMetaData>
MetaData producer for health check configuration. This producer demonstrates the recommended pattern for auto-registering health endpoints via metadata. Applications can extend this class and override the produce() method to customize health indicator configuration. Example usage:
 public class MyHealthMetaDataProducer extends HealthMetaDataProducer
 {
    @Override
    protected HealthCheckMetaData buildHealthCheckMetaData(QInstance qInstance)
    {
       return new HealthCheckMetaData()
          .withEnabled(true)
          .withEndpointPath("/health")
          .withIndicators(List.of(
             new DatabaseHealthIndicator().withBackendName("rdbms"),
             new MemoryHealthIndicator().withThreshold(85)
          ));
    }
 }
 
  • Constructor Details

    • HealthMetaDataProducer

      public HealthMetaDataProducer()
  • Method Details

    • produce

      public QJavalinMetaData produce(QInstance qInstance) throws QException
      Produce QJavalinMetaData with health check configuration and auto-register the JavalinHealthRouteProvider. This method performs two key operations: 1. Adds HealthCheckMetaData to QInstance supplemental metadata 2. Registers JavalinHealthRouteProvider reference for auto-loading Applications should override buildHealthCheckMetaData() to customize health indicator configuration.
      Throws:
      QException
    • buildHealthCheckMetaData

      protected HealthCheckMetaData buildHealthCheckMetaData(QInstance qInstance) throws QException
      Build the HealthCheckMetaData configuration. Override this method in application-specific subclasses to customize health indicators, endpoint path, timeouts, and other configuration. Default implementation returns null (no health endpoints). Applications must override to enable health checks.
      Parameters:
      qInstance - the QInstance being configured
      Returns:
      HealthCheckMetaData configuration, or null to disable health checks
      Throws:
      QException