[17.0.0.1 und höher]

Anwendungsbindungen

Eine auf einem Anwendungsserver installierte Anwendung kann erst gestartet werden, wenn alle in der Anwendung definierten EJB-Referenzen und Ressourcenreferenzen an die tatsächlichen, im Anwendungsserver definierten Artefakte (Enterprise-Beans und Ressourcen) gebunden sind.

Anwendungsbindungen und -erweiterungen bieten Möglichkeiten, Anwendungsressourcen zu definieren und unterschiedliches Anwendungsverhalten zu steuern. Anwendungsbindungen können auf Unternehmensanwendungen, Webanwendungen und EJB-Anwendungen angewendet werden.

Diese Bindungen und Erweiterungen werden traditionell in XML-Dateien im Anwendungsarchiv angegeben. Webanwendungsbindungen können beispielsweise in der Datei ibm-web-bnd.xml definiert werden. In Liberty Version 17.0.0.1 und höher können Bindungen und Erweiterungen im Rahmen der Anwendungskonfiguration in der Datei server.xml angegeben werden.

Liberty unterstützt die traditionelle Methode der Bindungs- und Erweiterungsdefinition als Teil der Anwendung. Wenn die Informationen sowohl in der Datei server.xml als auch in der Anwendung angegeben werden, werden die beiden Quellen zusammengeführt, um eine wirksame Gruppe von Bindungen und Erweiterungen zu erstellen.

Die in der Datei server.xml enthaltenen Informationen haben Vorrang vor denselben Informationen, die in einem Anwendungsartefakt angegeben sind. Wenn beispielsweise sowohl die Datei ibm-web-bnd.xml als auch die Datei server.xml einen virtuellen Host für eine Webanwendung angeben, wird der Wert in der Datei server.xml verwendet. Wenn die Information, die angegeben wird, mehrere Werte haben kann, werden die Werte aus der Datei server.xml den Werten aus der Anwendung hinzugefügt. Wenn beispielsweise in der Datei ibm-application-bnd.xml zwei Sicherheitsrollen und in der Datei server.xml eine Sicherheitsrolle definiert sind, werden alle drei Sicherheitsrollen verwendet. Wenn eine in der Datei server.xml definierte Sicherheitsrolle denselben Namen hat wie eine in der Datei ibm-application-bnd.xml definierte Sicherheitsrolle, überschreibt die Sicherheitsrolle aus der Datei server.xml die aus der Anwendung.

Bei Bindungen und Erweiterungen, die für ein bestimmtes Modul innerhalb einer Anwendung gelten, ist es möglicherweise erforderlich, in der Konfiguration ein moduleName-Attribut anzugeben. Diese Spezifikation gilt für Informationen, die traditionell in den Dateien ibm-web-ext.xml, ibm-web-bnd.xml, ibm-ejb-jar-bnd.xml und ibm-ejb-jar-ext.xml angegeben werden. Das Attribut "moduleName" entspricht dem Namen des Moduls ohne Dateierweiterung. Wenn beispielsweise eine Unternehmensanwendung, die in der Datei stockPrices.ear definiert ist, in der Archivdatei stockDisplay.war ein Webmodul enthält, wird die Standardfehlerseite für das Webmodul in der Konfiguration wie folgt definiert:
<application location="stockPrices.ear">
   <web-ext moduleName="stockDisplay" default-error-page="error.html"/>
</application>
Bei einer EJB-Anwendung, die in der Datei stockData.jar definiert ist, gibt die Konfiguration in der Datei server.xml auf ähnliche Weise eine Datenquellenbindung an:
<application location="stockPrices.ear">
   <ejb-jar-bnd moduleName="stockData">
	<session name="StockBean">				
		<data-source name="jdbc/stockDS" binding-name="stockDataSource"/>
 	</session>   </ejb-jar>
</application>
Der Parameter für den Modulnamen ist nicht erforderlich, wenn sich die Anwendung in einer eigenständigen WAR- oder JAR-Datei befindet und in der Datei server.xml über ein webApplication- oder ein ejbApplication-Element definiert ist. Wenn zum Beispiel die Datei stockDisplay.war und die Datei stockData.jar aus dem vorherigen Beispiel eigenständige Anwendungen wären anstelle von Modulen für die Anwendung stockPrices.ear, könnte die folgende Konfiguration verwendet werden:
<webApplication location="stockPrices.ear">
   <web-ext default-error-page="error.html"/>
</webApplication>

<ejbApplication location="stockPrices.jar">
   <ejb-jar-bnd>
	<session name="StockBean">				
		<data-source name="jdbc/stockDS" binding-name="stockDataSource"/>
 	</session>   </ejb-jar>
</ejbApplication>

Einige Elemente, die in den Bindungs- und Erweiterungsdateien angegeben wurden, werden von der Liberty-Laufzeit nicht verwendet. In den Webanwendungserweiterungen wird zum Beispiel der Wert des Attributs für das Intervall für erneutes Laden ignoriert, weil das Liberty-Verhalten für erneutes Laden über die Konfiguration von applicationMonitor gesteuert wird. Die Angabe dieser Elemente in der Konfiguration der Datei server.xml führt nicht zu Fehlern. Aufgrund der fehlenden Fehler ist es möglich, den Inhalt der Anwendungsbindungs- und Erweiterungsdateien in die Datei server.xml zu kopieren. Der Kopiervorgang kann jedoch eine Warnung zu nicht erkannten Elementen auslösen, wenn Sie die Konfiguration mit WebSphere Developer Tools bearbeiten.

Die vollständige Liste mit den Bindungen und Erweiterungen, die in der Datei server.xml angegeben werden können, finden Sie unter Konfigurationselemente in der Datei server.xml.

Das folgende Beispiel gibt eine Ressourcenreferenz für eine MBean in einer EJB-Anwendung an:
<ejbApplication location="someBean.jar">
<managed-bean-bnd>
	<managed-bean class="com.ibm.MyBean">
		<resource-ref name="jdbc/myBinding" binding-name="jdbc/TestDataSource" />
	</managed-bean>
</managed-bean-bnd>
</ejbApplication>
Die folgende Konfiguration legt den Wert für das Attribut für den Sitzungskontext für gemeinsam genutzte Sitzungen für eine Anwendung auf "false":
<application location="myApplication.ear">
	<application-ext shared-session-context="false" />
</application>
Die folgende Konfiguration definiert den virtuellen Host für eine Webanwendung:
<application location="myApplication.ear">
	<web-bnd moduleName="myWebModule">
		<virtual-host name="default_host" />
	</web-bnd></application>

Symbol das den Typ des Artikels anzeigt. Konzeptartikel

Dateiname: cwlp_app_bindings.html