![[17.0.0.1 and later]](../ng_v17001plus.gif)
Liaisons d'application
Pour qu'une application installée sur un serveur d'applications puisse démarrer, toutes les références de beans enterprise (EJB) et de ressource définies dans l'application doivent être liées aux artefacts réels (beans enterprise ou ressources) définis dans le serveur d'applications.
Les liaisons et les extensions d'application fournissent des moyens pour définir les ressources de l'application et contrôler certains comportements des applications. Les liaisons d'application peuvent être appliquées à des applications d'entreprise, à des applications Web, ou à des applications EJB.
Généralement, ces liaisons et ces extensions sont spécifiées dans des fichiers XML contenus dans l'archive d'application. Par exemple, les liaisons d'application Web peuvent être définies dans le fichier ibm-web-bnd.xml. Dans Liberty version 17.0.0.1 et ultérieure, les liaisons et les extensions peuvent être spécifiées dans le cadre de la configuration de l'application dans le fichier server.xml.
Liberty prend en charge la méthode traditionnelle de définition des liaisons et des extensions comme partie de l'application. Si des informations sont spécifiées à la fois dans le fichier server.xml et par l'application, les deux sources sont fusionnées pour créer l'ensemble effectif de liaisons ou d'extensions.
Les informations spécifiées dans le fichier server.xml prévalent sur celles spécifiées dans un artefact d'application. Par exemple, si les fichiers ibm-web-bnd.xml et the server.xml spécifient tous deux un hôte virtuel pour une application Web, la valeur spécifiée dans le fichier server.xml est utilisée. Si les informations spécifiées peuvent avoir plusieurs valeurs, celles du fichier server.xml sont ajoutées aux valeurs de l'application. Par exemple, si le fichier ibm-application-bnd.xml définit deux rôles de sécurité et que server.xml en définit un, les trois rôles de sécurité sont utilisés. Si un rôle de sécurité défini dans le fichier server.xml porte le même nom qu'un rôle de sécurité défini dans le fichier ibm-application-bnd.xml, celui du fichier server.xml écrase le rôle de l'application.
<application location="stockPrices.ear">
<web-ext moduleName="stockDisplay" default-error-page="error.html"/>
</application>
De la même façon, pour une application EJB définie dans le fichier stockData.jar, la
configuration server.xml spécifierait une liaison de source de données :<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>
Certains éléments spécifiés dans les fichiers de liaisons et d'extensions ne sont pas utilisés par l'environnement d'exécution de Liberty. Par exemple, dans les extensions d'application Web, la valeur de l'intervalle de rechargement est ignorée dans le comportement de rechargement de Liberty car celui-ci est régi par la configuration de applicationMonitor. Aucune erreur ne s'ensuit si vous spécifiez ces éléments dans la configuration server.xml. En raison de cette absence d'erreurs, vous pouvez toujours copier le contenu des fichiers de liaison et d'extension d'application dans le fichier server.xml. Cette copie peut toutefois générer des avertissements d'élément non reconnu lorsque vous modifiez la configuration dans WebSphere Developer Tools.
Pour obtenir une liste complète des liaisons et des extensions pouvant être spécifiées dans le fichier server.xml, veuillez vous reporter aux éléments de configuration du fichier 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>