![[17.0.0.3 und höher]](../ng_v17003plus.gif)
Gültige Positionen für Konfigurationswerte in der Liberty-Laufzeitumgebung
In den folgenden Abschnitten werden die gültigen Positionen für Konfigurationswerte in der Liberty-Laufzeitumgebung beschrieben.
Umgebungsvariablen
Alle Prozessumgebungsvariablen werden in eine Konfiguration der API "MicroProfile Config" eingeschlossen, wenn die einzuschließenden Standardquellen registriert werden. Liberty stellt der Java™-Methode System.getenv() Umgebungsvariablen für Hostprozesse bereit und fügt außerdem Eigenschaften aus der Serverdatei server.env hinzu, die dann wiederum der API "MicroProfile Config" zur Verfügung stehen. Umgebungsvariablen wird beim Einschluss die Ordinalzahl (Priorität) 300 zugewiesen.
Aus der Liberty-Datei server.env stammende Eigenschaften werden mithilfe von Betriebssystemumgebungsvariablen an die Implementierung der API "MicroProfile Config" übergeben. Es können nur Eigenschaften, die gültige Umgebungsvariablennamen in der Hostumgebung haben, aus der Datei server.env entnommen werden. Linux-Umgebungen unterstützen beispielsweise keine Punkte (.) in Umgebungsvariablennamen. Deshalb werden Eigenschaftsnamen wie user.name in der Datei server.env nicht unterstützt.
Systemeigenschaften
Alle mit der Methode System.getProperties() bereitgestellten Java-Systemeigenschaften werden in eine Konfiguration der API "MicroProfile Config" eingeschlossen, wenn der Einschluss von Standardquellen angefordert wird. Liberty fügt den Java-Systemeigenschaften Eigenschaften aus der Serverdatei bootstrap.properties hinzu. Systemeigenschaften wird beim Einschluss die Ordinalzahl (Priorität) 400 zugewiesen.
MicroProfile-Config-Dateipositionen
Auf Anforderung zum Hinzufügen von Standardeigenschaften hin lädt die API "Microprofile Config" über den Thread ContextClassLoader oder mit einem vom Benutzer bereitgestellten ClassLoader Eigenschaften aus den Dateien ${CLASSPATH}/META-INF/microprofile-config.properties. Bei einer Liberty-Anwendung kann die META-INF-Position ein Unterverzeichnis im Stammverzeichnis einer JAR- oder WAR-Datei oder in einer JAR-Datei im Verzeichnis lib eines Unternehmensarchivs (EAR, Enterprise Archiv) oder in der JAR-Datei einer gemeinsam genutzten Bibliothek auf Serverebene sein. Aus Eigenschaftendateien entnommene Eigenschaftswerte werden mit der Ordinalzahl (Priorität) 100 geladen.
Mit dem Java-Muster "ServiceLoader" geladene Quellen
Konfigurationsquellen können programmgestützt mit der auf der Website des MicroProfile Configuration-Projekts dokumentierten API registriert werden. Sie können auch das Java-Muster ServiceLoader verwenden, um Konfigurationsquellenobjekte zu suchen, die zur Laufzeit dynamisch erkannt und geladen werden.
Geltungsbereich von Konfigurationswerten
Konfigurationsquellen werden über ClassLoader-Code mit der Methode loadResources() und dem Java-Muster "ServiceLoader" geladen. Somit spiegelt der Geltungsbereich von Konfigurationswerten den von Java-Klassen in Liberty wider. Konfigurationswerte aus der WAR-Datei einer Anwendung sind gewöhnlich in anderen WAR-Dateien nicht zugänglich, selbst wenn diese Konfigurationswerte zu derselben EAR-Anwendungsassemblierung oder zu demselben Server gehören. Eine Konfiguration kann in einem Unternehmensarchiv gemeinsam genutzt werden, indem eine Datei ${CLASSPATH}/META-INF/microprofile-config.properties in eine JAR-Datei im Verzeichnis lib des Unternehmensarchivs eingefügt wird. Konfigurationswerte können in einem Liberty-Server gemeinsam genutzt werden, indem sie in die Datei server.env eingefügt wird oder indem ein Element library in der Datei server.xml mit einer entsprechenden commonLibrary-Referenz für Anwendungen verwendet wird, die die allgemeinen Konfigurationswerte verwenden müssen.