![[17.0.0.1 und höher]](../ng_v17001plus.gif)
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.
<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>
<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.
<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>
<application location="myApplication.ear">
<application-ext shared-session-context="false" />
</application>
<application location="myApplication.ear">
<web-bnd moduleName="myWebModule">
<virtual-host name="default_host" />
</web-bnd></application>