Include-Element in Konfigurationsdateien verwenden

Sie können Ihre gesamte Konfiguration in einer einzigen Datei des Typs server.xml aufbewahren, oder Sie verwenden Include-Elemente, um Konfigurationen aus separaten Dateien zu konsolidieren und so die Struktur zu erstellen, die für Sie am praktischsten ist.

Informationen zu diesem Vorgang

Die Verwaltung einer komplexen Konfiguration kann sich einfacher gestalten, wenn Sie die Konfiguration auf eine Gruppe von Dateien aufteilen. Beispiel:
  • Sie können in die Konfiguration eine Datei mit spezifischen Variablen für den lokalen Host einschließen, sodass die Hauptkonfiguration auf mehreren Hosts verwendet werden kann.
  • Sie können die gesamte Konfiguration für eine bestimmte Anwendung in eine getrennte Datei aufnehmen, die mit der Anwendung selbst versioniert werden kann.

Beispiel

Im Folgenden finden Sie die Syntax für das Einschließen einer Konfigurationsdatei. Sie können den Wert des Attributs optional auf true setzen, wenn Sie die eingeschlossene Datei überspringen möchten, falls sie nicht gefunden werden kann:
<include optional="true" location="Pfadname/Dateiname"/>
oder
<include optional="true" location="url"/>
Die folgende Liste zeigt die möglichen Positionen. Sie werden in der angezeigten Reihenfolge durchsucht.
  1. Eine Position relativ zur übergeordneten Datei
  2. Serverkonfigurationsverzeichnis
  3. Eine als absoluter Pfad angegebene Position
  4. Ein Web-Server
Um sicherzustellen, dass die eingeschlossene Konfiguration berechenbar arbeitet, müssen Sie wissen, dass für die eingeschlossenen Konfigurationsdateien folgende Verarbeitungsregeln verwendet werden:
  • Für Singleton-Services, wie die Protokollierung oder Anwendungsüberwachung, werden die Einträge in der Reihenfolge verarbeitet, in der sie in der Datei angegeben sind. Spätere Einträge werden zu den vorherigen Einträgen hinzugefügt oder überschreiben diese. Dies gilt auch für Konfigurationsinstanzen, z. B. für eine Anwendung oder eine Datenquelle, die dieselbe ID aufweisen.
  • Include-Anweisungen können innerhalb des Elements <server /> an beliebiger Position stehen.
  • Jede eingeschlossene Datei muss ein Element <server /> enthalten, das mit dem in der übergeordneten Konfigurationsdatei angegebenen Element übereinstimmt.
  • In eingeschlossenen Dateien können weitere eingeschlossene Dateien verschachtelt sein.
  • Jede eingeschlossene Datei wird logisch an der Position in der Hauptkonfiguration eingefügt, an der die Anweisung <include /> in der übergeordneten Datei steht.

Im folgenden Beispiel enthält die Konfigurationsdatei des primären Servers, server.xml, den Inhalt der Konfigurationsdatei blogDS.xml, die sich im gemeinsam genutzten Konfigurationsverzeichnis befindet. Die Datei blogDS.xml enthält eine Datenquellendefinition. Diese Definition wurde in eine separate Konfigurationsdatei gestellt, sodass sie in mehrere unterschiedliche Dateien des Typs server.xml aufgenommen und dadurch von mehreren Serverinstanzen verwendet werden kann.

Nachfolgend ist Beispielcode aus der Datei server.xml aufgeführt:
<server>
  <featureManager>
    <feature>servlet-3.0</feature>
    <feature>jdbc-4.0</feature>
  </featureManager>
  <application id="blog" location="blog.war" name="blog" type="war"/>
  <include optional="true" location="${shared.config.dir}/blogDS.xml"/>
</server>
Nachfolgend ist Beispielcode aus der Datei blogDS.xml aufgeführt:
<server>
  <dataSource id="blogDS" jndiName="jdbc/blogDS" jdbcDriverRef="derbyEmbedded">
    <properties createDatabase="create" databaseName="C:/liberty/basics/derby/data/blogDB" />
  </dataSource>
  <jdbcDriver id="derbyEmbedded"/>
    <library>
      <fileset dir="C:/liberty/basics/derby" includes="derby.jar" />
    </library>
  </jdbcDriver>
</server>

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_setup_includes.html