Feature: Einzelinstanz-Schutz – Anwendung darf nur einmal gestartet werden #35

Closed
opened 2026-04-25 08:36:05 +02:00 by marcus · 0 comments
Owner

Beschreibung

Die Anwendung soll sicherstellen, dass sie nur einmal gleichzeitig laufen kann. Ein zweiter Startversuch soll abgefangen werden.

Gewuenschtes Verhalten

  • Erster Start: normal
  • Zweiter Startversuch waehrend die Anwendung laeuft:
    • Neuer Prozess erkennt dass bereits eine Instanz laeuft
    • Zeigt eine kurze Meldung: 'PDF-Umbenenner laeuft bereits'
    • Beendet sich sofort
    • Optional: bringt das bereits laufende Fenster in den Vordergrund

Technische Umsetzung

Standardloesung unter Windows: Lock-Datei oder ServerSocket auf einem festen lokalen Port

  • Lock-Datei (einfach): Beim Start eine .lock-Datei anlegen, beim Beenden loeschen. Existiert sie beim Start bereits, laeuft die Anwendung schon.
    Hinweis: Es gibt bereits eine 'lock.file' Konfigurationsoption in der application.properties – pruefen ob diese bereits genutzt werden kann
  • ServerSocket (robuster): Beim Start auf einem festen lokalen Port lauschen (z.B. 54321). Schlaegt das fehl, laeuft bereits eine Instanz.

Prioritaet

Mittel

## Beschreibung Die Anwendung soll sicherstellen, dass sie nur einmal gleichzeitig laufen kann. Ein zweiter Startversuch soll abgefangen werden. ## Gewuenschtes Verhalten - Erster Start: normal - Zweiter Startversuch waehrend die Anwendung laeuft: - Neuer Prozess erkennt dass bereits eine Instanz laeuft - Zeigt eine kurze Meldung: 'PDF-Umbenenner laeuft bereits' - Beendet sich sofort - Optional: bringt das bereits laufende Fenster in den Vordergrund ## Technische Umsetzung Standardloesung unter Windows: Lock-Datei oder ServerSocket auf einem festen lokalen Port - **Lock-Datei** (einfach): Beim Start eine .lock-Datei anlegen, beim Beenden loeschen. Existiert sie beim Start bereits, laeuft die Anwendung schon. Hinweis: Es gibt bereits eine 'lock.file' Konfigurationsoption in der application.properties – pruefen ob diese bereits genutzt werden kann - **ServerSocket** (robuster): Beim Start auf einem festen lokalen Port lauschen (z.B. 54321). Schlaegt das fehl, laeuft bereits eine Instanz. ## Prioritaet Mittel
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcus/pdf-umbenenner#35