Konfiguration von der Befehlszeile

Der Wrapper erlaubt, dass jede Konfigurationseigenschaft von der Befehlszeile aus festgelegt wird. Dies kann in Situationen nützlich sein, in denen Konfigurationswerte nur zur Laufzeit gesetzt werden. Als ein Beispiel können wir uns das Shellskript (sh), welches mit dem Wrapper ausgeliefert wird, betrachten.

Konfigurationseigenschaften können per Befehlszeile gesetzt werden, indem diese eingefügt werden, nachdem die Konfigurationsdatei nach dem Starten des Wrappers geladen wird. Jede Eigenschaft setzt sich aus der Form "ein Eigenschaftenname = der Eigenschaftswert" zusammen. Die Syntax ist genau die Gleiche, wie in der wrapper.conf-Datei konfiguriert.

Beispiel:

In diesem Beispiel wird eine Java-Anwendung unter Nutzung des Wrappers mit aktiviertem Loggen der Fehlerbehebung gestartet.

Windows NT/2000:
wrapper.exe -c ..\conf\wrapper.conf wrapper.java.command=java wrapper.debug=TRUE
Linux/Solaris:
./wrapper ../conf/wrapper.conf wrapper.java.command=java wrapper.debug=TRUE

Priorität:

Eigenschaften, die auf der Befehlszeile festgelegt werden, haben gegenüber anderen Standardeigenschaften Priorität, und setzen alle anderen Standardeigenschaftswerte, die in der Konfigurationsdatei oder durch jedwede Art von "Datei hinzufügen" (kaskadierender Stil) gesetzt wurden, außer Kraft.

Eigenschaften können von der Befehlszeile durch Nutzung der Wrapper-Befehle konfiguriert werden, was den -i-Befehl mit einschliesst, der benutzt wird, um die Anwendung als einen Dienst unter Windows-Systemen zu installieren.

Wenn Sie den Wrapper und seine JVM unter Nutzung des -c-Befehls als eine Konsolenanwendung ausführen, überschreiben die spezifizierten Eigenschaften jegliche Werte in der wrapper.conf-Datei und werden beim Starten der JVM genutzt.

Genauso merkt sich der -i-Befehl, der genutzt wird, um den Wrapper als einen Dienst zu installieren, die spezifizierten Eigenschaften und nutzt sie dann später, wenn der Dienst tatsächlich gestartet wird. Genauso werden die spezifizierten Eigenschaften genutzt, um die Werte in der wrapper.conf-Datei zu überschreiben, während der Dienst installiert wird.

Alle anderen Befehle nutzen auch die Befehlszeilen-Eigenschaften, um die Werte in der Konfigurationsdatei zu überschreiben. Diese beeinflussen die Art, wie geloggtoder wie auf den Dienst verwiesen wird. Sie haben keine Auswirkung auf das Ausführen der JVM. Es ist z.B. nicht möglich, einen Eigenschaftswert einem Dienst zu übergeben, während dieser z.B. mit dem -t-Befehl gestartet wird.

Angegebene Leerzeichen:

NOTE

Eigenschaften, die auf Befehlszeilenebene spezifiziert werden, können nicht leerzeichen ohne Anführungszeichen enthalten. Wenn Sie Leerzeichen in dem Wert einer Eigenschaft einfügen müssen, fügen Sie einfach das komplette Paar von "Eigenschaftsname und Wert" in Anführungszeichen:

Beispiel:
wrapper.exe -c ..\conf\wrapper.conf "wrapper.java.command=C:\My App\jre\bin\java.exe"

Anführungszeichen unter Windows:

NOTE

Wenn Sie Pfadwerte unter Windows in Anführungszeichen setzen, vergessen Sie bitte nicht die Art wie Windows Werte in Anführungszeichen parst. Es behandelt alle Backslashes in dem in Anführungszeichen gesetzten Wert normal, AUSSER im Falle eines nachhängenden Backslashes. Im folgenden Beispiel werden Sie sehen, dass der nachhängende Backslash das Anführungszeichen selbst "escaped", was dazu führt, dass unbeabsichtigte Argumente dem Wrapper übergeben werden.

Beispiel:
wrapper.exe -c ..\conf\wrapper.conf "wrapper.working.dir=C:\" wrapper.debug=TRUE"

Der beabsichtigte Vorgang ist der, den Wrapper mit Argumenten( [-c], [..\conf\wrapper.conf], [wrapper.working.dir=C:\], and [wrapper.debug=TRUE]) aufzurufen. Was jedoch tatsächlich passiert, ist dass, das zweite Anführungszeichen nicht bewertet wird, was die 3 folgenden Argumente zur Folge hat; [-c], [..\conf\wrapper.conf], [wrapper.working.dir=C:" wrapper.debug=TRUE].

Die erste Lösung ist es, niemals einen nachhängenden Backslash zu haben. Dies ist mit dem obigen "C:\"-Beispiel jedoch nicht möglich. Eine andere gute Lösung, auf die wir gestossen sind, ist die des angehängten Punkts nach dem Backslash. Dies führt zu einem Verzeichnis "C:\.", welches die gleiche Bedeutung wie "C:\" hat, jedoch von Windows korrekt geparst wird.

Beispiel:
wrapper.exe -c ..\conf\wrapper.conf "wrapper.working.dir=C:\." wrapper.debug=TRUE"

Verweis: Starten Ihrer Anwendung mit dem Wrapper