[17.0.0.1 et ultérieur]

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.

Pour les liaisons et les extensions s'appliquant à un module spécifique dans une application, il peut s'avérer nécessaire de définir un attribut moduleName dans la configuration. Cette spécification s'applique aux informations ordinairement spécifiées dans les fichiers ibm-web-ext.xml, ibm-web-bnd.xml, ibm-ejb-jar-bnd.xml et ibm-ejb-jar-ext.xml. L'attribut de nom de module est le nom du module sans l'extension de fichier. Par exemple, pour une application d'entreprise définie dans le fichier stockPrices.ear et qui contient un module Web dans l'archive stockDisplay.war, la configuration suivante définirait la page d'erreur par défaut pour le module Web :
<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>
Le paramètre de nom de module n'est pas nécessaire si l'application est un fichier WAR ou JAR autonome défini dans le fichier server.xml par le biais d'un élément webApplication ou ejbApplication. Si le fichier stockDisplay.war et le fichier stockData.jar de l'exemple précédent concernaient des applications autonomes au lieu de modules pour l'application stockPrices.ear, la configuration suivante pourrait être utilisée :
<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. Vu l'absence d'erreurs, vous pouvez donc toujours copier le contenu des fichiers de liaisons et d'extensions d'application dans le fichier server.xml. Ceci peut toutefois générer des avertissements d'élément non reconnu lorsque vous modifiez la configuration dans WebSphere Developer Tools.

Pour la liste complète des liaisons et des extensions pouvant être spécifiées dans le fichier server.xml, voir Eléments de configuration dans le fichier server.xml.

L'exemple suivant définit une référence de ressource pour un bean géré dans une application EJB.
<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>
La configuration suivante définit la valeur 'false' pour l'attribut de contexte de session partagée pour une application :
<application location="myApplication.ear">
	<application-ext shared-session-context="false" />
</application>
La configuration suivante définit l'hôte virtuel pour une application web :
<application location="myApplication.ear">
	<web-bnd moduleName="myWebModule">
		<virtual-host name="default_host" />
	</web-bnd>
</application>

Icône indiquant le type de rubrique Rubrique de concept

Nom du fichier : cwlp_app_bindings.html