Class ClusterSnapshotPublisher

All Implemented Interfaces:
SnapshotPublisher

public class ClusterSnapshotPublisher extends ThresholdSnapshotPublisher
Concrete ThresholdSnapshotPublisher that builds a ClusterSnapshot from the local FailoverMetricsSnapshotService and delivers it via a SnapshotPushClient.

Inherits time-threshold gating from ThresholdSnapshotPublisher (at most one push per intervalSeconds) and event-driven dispatch from AbstractSnapshotPublisher (async, virtual-thread executor injected by autoconfiguration; no push when the app is idle).

Owns backoff state: on first failure a single WARN is emitted and push() becomes a no-op until retryIntervalSeconds elapses. On recovery an INFO is logged. Has no dependency on any specific HTTP client — the transport is injected via SnapshotPushClient.

Author:
Anand Manissery