Sie können Variablen in der Konfiguration verwenden, wenn Sie die fest Codierung von Werten vermeiden möchten,
die bei der Wiederverwendung der Konfiguration in anderen Umgebungen eventuell nicht geeignet sind.
Informationen zu diesem Vorgang
Variablen können definiert werden, indem eine Eigenschaft an einer der folgenden Positionen festgelegt wird:
- in der Serverkonfigurationsdatei oder einer eingeschlossenen Datei
- in der Datei bootstrap.properties
Die folgenden vordefinierten Variablen können referenziert werden:
Wird dieselbe Variable an mehreren Stellen angegeben, gilt die folgende Rangfolge:
- Variablen in bootstrap.properties überschreiben die Prozessumgebungsvariablen.
- Variablen in server.xml oder enthaltenen XML-Dateien überschreiben die Variablen in bootstrap.properties und
Prozessumgebungsvariablen.
Bewährtes Verfahren: Variablen,
die für einen bestimmten Server spezifisch sind, z. B. Portnummern, werden in der Datei
bootstrap.properties angegeben, sodass die Datei
server.xml von mehreren Servern gemeinsam genutzt werden kann, während die abweichenden Werte in den verschiedenen
Servern enthalten sind. Variablen, die von einer Gruppe von Servern gemeinsam genutzt werden, z. B. die Datenbankkonfiguration für einen bestimmten Host,
sollten besser in einer XML-Datei angegeben werden, die in die übergeordnete Konfigurationsdatei eingeschlossen wird.
Bewährtes Verfahren: Variablennamen müssen mit einem Buchstaben beginnen und dürfen nur die folgenden Zeichen enthalten: Buchstaben, numerische Zeichen und die Zeichen "_" und "."
- Geben Sie eine Variable in einer Konfigurationsdatei an.
Die Variablendefinitionssyntax ist Variablenname=Wert.
Wenn der Wert einen Pfad enthält, wird er während der Konfigurationsverarbeitung normalisiert,
indem doppelte Schrägstriche und Backslashes durch einen einzelnen Schrägstrich ersetzt werden,
sofern der Wert nicht mit doppelten Schrägstrichen oder Backslashes beginnt (diese bleiben unverändert).
Bewährtes Verfahren: Wenn Sie den Wert einer Variable so festlegen müssen, dass er doppelte
Schrägstriche enthält, z. B. für einige JDBC-Treiberverbindungs-URLs, teilen Sie den Wert bei den Schrägstrichen
in zwei Teile auf. Durch Platzieren der Schrägstriche als Anfangszeichen wird die Normalisierung umgangen.
Wenn Sie beispielsweise den Wert
"jdbc:db2://host_name.com" speichern möchten, verwenden Sie hierzu zwei Variablen:
URL_PART_1="jdbc:db2:"
URL_PART_2="//host_name.com"
In den Konfigurationsdateien definierte Variablen beziehen sich auf die Konfigurationselemente, von denen sie verwendet werden. Das folgende
Codefragment erstellt beispielsweise eine
Variable mit dem Namen
updateTrigger_var, die in
applicationMonitor-Konfigurationselementen verwendet werden soll:
<applicationMonitor updateTrigger_var="mbean" />
Wenn Sie eine Variable
erstellen möchten, die in einer bestimmten Konfigurationsinstanz (z. B. einer Anwendung oder einem Ressourceneintrag) verwendet wird,
müssen Sie auch die Instanz-ID angeben. Beispiel:<httpEndpoint id="defaultHttpEndpoint"
HTTP_default_var="8889" />
- Geben Sie eine Variable in der Datei bootstrap.properties an.
In der Datei
bootstrap.properties definierte Variablen beziehen sich nicht auf
bestimmte Konfigurationselemente. Die Variablen werden als Schlüssel/Wert-Paar eingegeben. Beispiel:
HTTP_default_var=8006
- Verwenden Sie eine definierte Variable in der Konfiguration.
Die Variablensubstitutionssyntax ist
${Variablenname}.
Mehrere Variablenwerte können abgeschnitten werden, wenn
${Variablenname1}${Variablenname2} verwendet wird.
Wenn Sie beispielsweise die Variable
HTTP_default_var verwenden möchten, nehmen Sie das folgende Codefragment
in die Konfigurationsdatei auf:
<httpEndpoint id="defaultHttpEndpoint"
httpPort="${HTTP_default_var}">
</httpEndpoint>
- Verwenden Sie das Element variable in der Konfiguration.
Sie können das Element
variable verwenden, um eine Variable global in der Serverkonfiguration zu definieren. Wenn dieselbe Variable in einer eingeschlossenen Datei definiert ist, wird sie von der in der Datei
server.xml angegebenen Variablen außer Kraft gesetzt. Wenn Sie beispielsweise das Element
variable
verwenden möchten, nehmen Sie das folgende Codefragment
in die Konfigurationsdatei auf:
<variable name="HTTP_default_var" value="8889" />
- Verwenden Sie Prozessumgebungsvariablen in der Konfiguration.
Verarbeitungsumgebungsvariablen sind verfügbar, wenn Sie das Konfigurationsvariablenpräfix
env. verwenden, z. B.:
<fileset dir="${env.LIBRARY_DIR}" includes="*.jar"/>
Weitere Informationen zur Angabe von Umgebungsvariablen finden Sie unter Liberty-Umgebung anpassen.
- Verwenden Sie Variablenausdrücke in der Konfiguration.
Für Konfigurationsvariablen können Sie eine begrenzte Syntax für Variablenausdrücke mit dem Format
${<Operand><Operator><Operand>} verwenden. Für die Variablen gilt Folgendes:
- Operand
- Operanden können entweder lange ganzzahlige Literale oder Namen von Variablen sein, die einen langen ganzzahligen Wert enthalten. Variablennamen müssen mit einem Buchstaben beginnen und dürfen nur die folgenden Zeichen enthalten: Buchstaben, numerische Zeichen und die Zeichen "_" und "."
- Operator
- Folgende Operatoren sind verfügbar:
- + für Addition
- - für Subtraktion
- * für Multiplikation
- / für Division
- Wenn der Ausdruck nicht geparst werden kann, ein nicht ganzzahliger Wert verwendet wird oder ein arithmetischer Fehler auftritt, ist das Verhalten nicht definiert.
Wenn beispielsweise die Variable HTTP_port_base definiert ist, kann ein Variablenausdruck verwendet werden, um mehrere httpEndpoints zu definieren:
<httpEndpoint id="defaultHttpEndpoint" httpPort="${HTTP_port_base+0}"/>
<httpEndpoint id="httpEndpoint2" httpPort="${HTTP_port_base+1}"/>
- Setzen Sie vererbbare Attribute in der Konfiguration außer Kraft.
Sie können die Standardwerte von vererbbaren Attributen in der Konfiguration außer Kraft setzen. Die vererbbaren
Attribute sind auf der Seite Liberty-Features aufgelistet. Sie können die Elemente mit den vererbbaren
Attributen ermitteln, indem Sie nach dem Typ Inherits suchen.
Das Attribut onError ist beispielsweise ein vererbbares Attribut. Sie können für das Attribut
onError global einen Variablennamen definieren, indem Sie
das Attribut entweder in der Datei
bootstrap.properties oder in der Datei server.xml mit dem Element
variable festlegen. Wird derselbe Variablenname in beiden Dateien angegeben, wird der Wert in der Datei
server.xml verwendet. Wenn das Attribut in keiner dieser beiden Dateien explizit festgelegt wird, wird der Standardwert verwendet. Wird ein ungültiger Wert für das vererbbare Attribut angegeben, verwendet dieses den in der Datei
bootstrap.properties oder server.xml definierten globalen Wert oder den Standardwert, falls dieser nicht auf globaler Ebene definiert ist.
Ein weiteres Beispiel stellen die Protokollierungseigenschaften in Liberty
dar. Nähere Informationen hierzu finden Sie im Abschnitt
Protokollierung und Traceerstellung.