Scheduler: Autostart-Feature entfernen

Der Scheduler startet niemals automatisch beim Programmstart. Der Nutzer
startet ihn ausschliesslich bewusst ueber den Start-Button im
Scheduler-Tab. scheduler.enabled wird nicht mehr gelesen oder geschrieben;
das Property ist obsolet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 12:57:54 +02:00
parent 719cc50d16
commit 13141f9638
11 changed files with 79 additions and 486 deletions
@@ -65,7 +65,6 @@ import de.gecheckt.pdf.umbenenner.application.config.startup.StartConfiguration;
import de.gecheckt.pdf.umbenenner.application.port.in.BatchRunOutcome;
import de.gecheckt.pdf.umbenenner.application.port.in.BatchRunProcessingUseCase;
import de.gecheckt.pdf.umbenenner.application.port.in.SchedulerControlUseCase;
import de.gecheckt.pdf.umbenenner.application.port.in.SchedulerStartException;
import de.gecheckt.pdf.umbenenner.application.port.in.CreateNewDatabaseUseCase;
import de.gecheckt.pdf.umbenenner.application.port.in.HistoricalDocumentContext;
import de.gecheckt.pdf.umbenenner.application.port.in.ManualFileCopyRequest;
@@ -1065,8 +1064,9 @@ public class BootstrapRunner {
* <p>
* Erzeugt {@link FileChannelConfigurationAccessAdapter}, {@link ScheduledExecutorServiceSchedulerAdapter}
* und {@link DefaultSchedulerControlUseCase} und speichert den Use Case in
* {@link #guiSchedulerUseCase}. Ist in der Konfiguration {@code scheduler.enabled=true}
* gesetzt, wird der Scheduler sofort gestartet (Autostart).
* {@link #guiSchedulerUseCase}. Der Scheduler wird beim Programmstart
* niemals automatisch gestartet; der Benutzer startet ihn ausschließlich
* bewusst über den Start-Button im Scheduler-Tab.
* <p>
* Schlägt die Initialisierung fehl, wird {@link #guiSchedulerUseCase} auf
* {@link Optional#empty()} gesetzt und der Fehler als Warnung geloggt.
@@ -1119,16 +1119,6 @@ public class BootstrapRunner {
DefaultSchedulerControlUseCase schedulerUseCase = new DefaultSchedulerControlUseCase(
schedulerAdapter, configAccessAdapter, configAccessAdapter, batchRunTrigger);
guiSchedulerUseCase = Optional.of(schedulerUseCase);
if (configAccessAdapter.loadSettings().enabled()) {
try {
schedulerUseCase.start();
LOG.info("Scheduler: Autostart aktiviert gemäß Konfiguration.");
} catch (SchedulerStartException e) {
LOG.warn("Scheduler: Autostart fehlgeschlagen: {}", e.getMessage());
schedulerUseCase.markAutostartFailed();
}
}
} catch (Exception e) {
LOG.warn("Scheduler: Initialisierung fehlgeschlagen Scheduler nicht verfügbar: {}",
e.getMessage(), e);