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 Eingabeauffoderung geschlossen oder der Windows Benutzer abgemeldet, wird auch dieser Dienst beendet.
 
Damit der Dienst unabhängig einer Windows Benutzeranmeldung oder Eingabeauffoderung 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:
 
ServiceName
Der Dienstnamenzusatz, mit der Dienst auf dem System ausgeführt wird. Beispielsweise: _test oder _prod
WaitInSeconds
Die 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, das der Dienst nicht ausgeführt wird.
LicenseKeyPath
Standardmäß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_URL
Eine URL / Webadresse unter dem das Q-PORTAL (sofern vorhanden / verfügbar) zu erreichen ist, beispielsweise: http://localhost/qportal/
DBBackupPath
Ein 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:
OFF
Protokolliert keine Anwendungsereignisse
FATAL
Protokolliert nur als FATAL definierte Anwendungsereignisse
ERROR
Protokolliert nur als ERROR und FATAL definierte Anwendungsereignisse
WARN
Protokolliert nur als WARN, ERROR und FATAL definierte Anwendungsereignisse
INFO
Protokolliert nur als INFO, WARN, ERROR und FATAL definierte Anwendungsereignisse
DEBUG
Protokolliert nur als DEBUG, INFO, WARN, ERROR und FATAL definierte Anwendungsereignisse
TRACE
Protokolliert alle definierten Anwendungsereignisse
 
Der Protokollierungsgrad wird ab Zeile 42 definiert und die Standardeinstellung für produktiv verwendete Dienste wird auf den Detailgrad INFO gesetzt.