Class BasicActuatorGroup

java.lang.Object
jakarta.servlet.GenericServlet
All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable, BasicUniversalConfig, DefaultConfig, DefaultHtmlConfig

Convenience assembly of the Actuator-style management surface under a single configurable path prefix.

Mounts the management endpoints by composing their *Mixin flavors via @Rest(mixins=...) on top of BasicRestServletGroup:

  • /healthz, /readyz, /livez — HealthMixin (read-through health view)
  • /threaddump, /heapdump — DumpsMixin (deny-by-default diagnostics)

/info and /loggers are off by default — unlike health, they are not mounted on the bare group, since InfoMixin discloses the full manifest and LoggersMixin's read side discloses logger topology, neither behind any auth. Turn either back on (either approach suffices):

  • A-la-carte (recommended): mount InfoMixin / LoggersMixin on a resource you control, e.g. a BasicActuatorGroup subclass with @Rest(mixins={InfoMixin.class, LoggersMixin.class}) — mixins declared on a subclass are additive to the mixins inherited from this class, so HealthMixin/DumpsMixin stay mounted too.
  • Zero-code: not currently supported — @Rest(mixins=...) is a compile-time class list, and the RestContext.Builder injection point that would have let a system property add a mixin at init time was removed prior to 10.0.0 (see RestInit). Use the a-la-carte subclass above.

Path prefix: defaults to /actuator and is configurable via the juneau.actuator.path system property (resolved through the standard $S{...} SVL var). Mount the group at a custom prefix either by setting that property or by subclassing with your own @Rest(path=...).

Composition is convenience, not the only way in: every endpoint remains independently mountable a-la-carte via its standalone *Mixin/*Resource flavor. The /metrics endpoint is not assembled here — it lives in the juneau-rest-server-metrics-micrometer module (which this module does not depend on), so add MetricsMixin a-la-carte when that module is present.

Exposure policy: of the mounted endpoints, health is on; the mutating/sensitive ones (/threaddump, /heapdump) are deny-by-default via DumpsSettings. No auth provider is auto-wired (explicit-over-magic).

See Also:
Since:
10.0.0