Package dev.shamoo.runtime.core
Class PluginLifecycleCoordinator
java.lang.Object
dev.shamoo.runtime.core.PluginLifecycleCoordinator
Serializes plugin lifecycle operations and enforces dependency, drain, timeout, and cleanup rules.
-
Constructor Summary
ConstructorsConstructorDescriptionPluginLifecycleCoordinator(PluginRuntimeFactory runtimeFactory, ResourceRegistry resources, Duration drainTimeout, QuarantinePolicy quarantinePolicy, Executor executor) PluginLifecycleCoordinator(PluginRuntimeFactory runtimeFactory, ResourceRegistry resources, Duration drainTimeout, QuarantinePolicy quarantinePolicy, Executor executor, PlatformCapabilities platformCapabilities) -
Method Summary
Modifier and TypeMethodDescriptionadmitInvocation(PluginId pluginId) disableAll(UUID correlationId) enableAll(UUID correlationId, BiConsumer<PluginId, Throwable> failureHandler) install(Collection<InstalledPluginCandidate> candidates) replace(InstalledPluginCandidate candidate, UUID correlationId) Prepares a candidate, drains the old generation, then atomically switches invocation admission.stageAndReplace(Path source, Path stagingRoot, PluginStager stager, UUID correlationId) Stages and transactionally replaces one installed plugin candidate.
-
Constructor Details
-
PluginLifecycleCoordinator
public PluginLifecycleCoordinator(PluginRuntimeFactory runtimeFactory, ResourceRegistry resources, Duration drainTimeout, QuarantinePolicy quarantinePolicy, Executor executor) -
PluginLifecycleCoordinator
public PluginLifecycleCoordinator(PluginRuntimeFactory runtimeFactory, ResourceRegistry resources, Duration drainTimeout, QuarantinePolicy quarantinePolicy, Executor executor, PlatformCapabilities platformCapabilities)
-
-
Method Details
-
install
-
load
-
enable
-
ready
-
disable
-
unload
-
stageAndReplace
public CompletionStage<Void> stageAndReplace(Path source, Path stagingRoot, PluginStager stager, UUID correlationId) Stages and transactionally replaces one installed plugin candidate. -
replace
Prepares a candidate, drains the old generation, then atomically switches invocation admission. -
enableAll
-
enableAll
public CompletionStage<Void> enableAll(UUID correlationId, BiConsumer<PluginId, Throwable> failureHandler) -
disableAll
-
admitInvocation
-
snapshot
-
snapshots
-