Windows Dienst

Der Windows Dienst (Q-ENGINE_service.exe) kann über eine Kommandozeile als Dienst verankert oder gelöscht werden.

Dafür ist in der Windows-Eingabeaufforderung der Anwendungsname gefolgt von dem Parameter einzugeben.

Am besten wird die Eingabeaufforderung mit Administrationsrechten geöffnet, da sonst die Eingabe den Dienst nicht verankern oder löschen kann:

  • Dienst Installation
    • Q-ENGINE_service /i
    • Q-ENGINE_service /install
  • Dienst Entfernung
    • Q-ENGINE_service /u
    • Q-ENGINE_service /uninstall

Sofern das Programm ohne Parameter gestartet wird, wird die Anwendung in der Eingabeaufforderung ausgeführt.

Beispielsweise werden dann alle Protokollierungen auch in der Eingabeaufforderung ausgegeben.

Wird die Eingabeaufforderung geschlossen oder der Windows-Benutzer abgemeldet, wird auch dieser Dienst beendet.

Damit der Dienst unabhängig von einer Windows-Benutzeranmeldung oder Eingabeaufforderung ausgeführt wird,

ist der Dienst wie oben beschrieben zu installieren.

Anschließend kann der Dienst über die Windows-Diensteinstellung oder über die Kommandozeile gestartet / gestoppt werden:

net stop "<service>"     beispielsweise: net stop Q-ENGINE_test oder net stop "Q-ENGINE prod"

net start "<service>"     beispielsweise: net start Q-ENGINE_test oder net start "Q-ENGINE prod"

Die Anführungszeichen (") sind nur dann notwendig, wenn der Servicename Leerzeichen (Space) enthält.

Konfiguration

Die Konfiguration des Windows Dienstes erfolgt über Einstellungen in der Datei Q-ENGINE_service.exe.config.

Ab Zeile 22 können die Einstellungen vorgenommen werden. Diese sind:

ServiceNameDer Dienstnamenzusatz, mit dem der Dienst auf dem System ausgeführt wird. Beispielsweise: _test oder _prod
WaitInSecondsDie Zeit in Sekunden, die zwischen den Ausführungen des Dienstes liegen (Wartezeit). Das Minimum liegt bei 5 und das Maximum bei 50. Werte außerhalb dieses Bereiches führen dazu, dass der Dienst nicht ausgeführt wird.
LicenseKeyPathStandardmäßig prüft der Dienst sein Ausführungsverzeichnis auf eine gültige Lizenz. Wird ein Verzeichnispfad für die Lizenz gesetzt, prüft der Dienst zusätzlich, ob an dieser Stelle eine gültige Lizenz verfügbar ist. Beispielsweise: C:\Q-Matrix™\
Ohne eine gültige Lizenz ist der Dienst nicht lauffähig.
QPORTAL_URLEine URL / Webadresse, unter der das Q-PORTAL (sofern vorhanden / verfügbar) zu erreichen ist, beispielsweise: http://localhost/qportal/
DBBackupPathEin Verzeichnispfad für das Zwischenspeichern von Datenbanksicherungen, beispielsweise: C:\tmp\

Für die eingestellten Protokollierungsvarianten wird der Detailgrad im RULES-Element festgelegt:

    <rules>
      <!-- Debug: minLevel = Trace - Prod: minLevel = Info -->
      <logger name="*" minlevel="Trace" writeTo="debugger" />
      <logger name="*" minlevel="Trace" writeTo="console" />
      <logger name="*" minlevel="Trace" writeTo="file" />
    </rules>

Folgende Detailgrade für die Protokollierung können eingestellt werden:

OFFProtokolliert keine Anwendungsereignisse
FATALProtokolliert nur als FATAL definierte Anwendungsereignisse
ERRORProtokolliert nur als ERROR und FATAL definierte Anwendungsereignisse
WARNProtokolliert nur als WARN, ERROR und FATAL definierte Anwendungsereignisse
INFOProtokolliert nur als INFO, WARN, ERROR und FATAL definierte Anwendungsereignisse
DEBUGProtokolliert nur als DEBUG, INFO, WARN, ERROR und FATAL definierte Anwendungsereignisse
TRACEProtokolliert alle definierten Anwendungsereignisse

Der Protokollierungsgrad wird ab Zeile 42 definiert, und die Standardeinstellung für produktiv verwendete Dienste wird auf den Detailgrad INFO gesetzt.