Class JMSHealthIndicator

java.lang.Object
io.micronaut.jms.health.JMSHealthIndicator
All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.management.health.indicator.HealthIndicator

@Singleton @Requires(classes=io.micronaut.management.health.indicator.HealthIndicator.class) @Requires(beans=io.micronaut.management.endpoint.health.HealthEndpoint.class) @Requires(property="endpoints.health.jms.enabled",notEquals="false") public final class JMSHealthIndicator extends Object implements io.micronaut.management.health.indicator.HealthIndicator
Reports whether a connection can be opened with each JMS connection factory, and the JMS provider of each. Disable it with endpoints.health.jms.enabled: false.

Opening a connection doesn't reach the broker with every provider: an ActiveMQ Classic failover: URL connects in the background, and the SQS factory makes no AWS call, so for those the indicator reports UP while the broker is unreachable. The connections are opened on the blocking executor, since connecting can take as long as the provider's connect timeout.

Since:
5.2.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The property that disables the indicator.

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Method Summary

    Modifier and Type
    Method
    Description
    org.reactivestreams.Publisher<io.micronaut.management.health.indicator.HealthResult>
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.core.order.Ordered

    getOrder
  • Field Details

  • Method Details

    • getResult

      public org.reactivestreams.Publisher<io.micronaut.management.health.indicator.HealthResult> getResult()
      Specified by:
      getResult in interface io.micronaut.management.health.indicator.HealthIndicator