Bootstrap-Wiring: Scheduler in GUI-Startkontext verdrahten
- pdf-umbenenner-bootstrap/pom.xml: Abhängigkeit auf adapter-in-scheduler hinzugefügt - GuiStartupContext: neues Feld schedulerControlUseCase (Optional<SchedulerControlUseCase>) als 26. Record-Komponente; 25-Parameter-Backward-Compat-Konstruktor sichert Abwärtskompatibilität - DefaultSchedulerControlUseCase: öffentliche Methode markAutostartFailed() ergänzt - BootstrapRunner: guiSchedulerUseCase-Feld, tryInitializeScheduler(), stopGuiSchedulerIfActive() sowie BatchRunTrigger-Lambda; Autostart gemäß scheduler.enabled-Konfiguration Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+17
@@ -197,6 +197,23 @@ public class DefaultSchedulerControlUseCase implements SchedulerControlUseCase {
|
||||
return statusRef.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Markiert den Autostart als fehlgeschlagen.
|
||||
* <p>
|
||||
* Wird von der Bootstrap-Schicht aufgerufen, wenn ein konfigurierter Autostart
|
||||
* beim Programmstart fehlgeschlagen ist. Alle übrigen Statusfelder bleiben erhalten;
|
||||
* lediglich {@link SchedulerStatus#autostartFailed()} wird auf {@code true} gesetzt.
|
||||
* <p>
|
||||
* Diese Methode darf nur aufgerufen werden, wenn der Scheduler noch gestoppt ist
|
||||
* (unmittelbar nach einem fehlgeschlagenen {@link #start()}).
|
||||
*/
|
||||
public void markAutostartFailed() {
|
||||
statusRef.updateAndGet(s -> new SchedulerStatus(
|
||||
s.state(), s.lastRunEndedAt(), s.lastRunSummary(),
|
||||
s.nextTickAt(), s.lastError(), true));
|
||||
logger.warn("Scheduler-Status: Autostart als fehlgeschlagen markiert.");
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Tick-Wrapper (package-private für Testbarkeit)
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user