![[17.0.0.1 and later]](../ng_v17001plus.gif)
Enlaces de aplicación
Para que se pueda iniciar una aplicación instalada en un servidor de aplicaciones, todas las referencias de EJB (enterprise bean) y las referencias de recursos definidas en la aplicación deben estar enlazadas con los artefactos reales (enterprise beans o recursos) definidos en el servidor de aplicaciones.
Los enlaces y las extensiones de aplicaciones proporcionan maneras de definir recursos de aplicaciones y controlar diversos comportamientos de las aplicaciones. Los enlaces de aplicaciones se pueden aplicar a aplicaciones empresariales, aplicaciones web o aplicaciones EJB.
Tradicionalmente, estos enlaces y extensiones se especifican en archivos XML en el archivado de la aplicación. Por ejemplo, los enlaces de aplicaciones web se pueden definir en el archivo ibm-web-bnd.xml. En Liberty versión 17.0.0.1 y posterior, los enlaces y extensiones se pueden especificar como parte de la configuración de la aplicación en el archivo server.xml.
Liberty da soporte al método tradicional de definición de enlaces y extensiones como parte de la aplicación. Si se especifica información tanto en server.xml como en la aplicación, las dos fuentes se fusionan para crear un conjunto efectivo de enlaces o extensiones.
La información especificada en el archivo server.xml tiene prioridad sobre la misma información especificada en el artefacto de la aplicación. Por ejemplo, si tanto el archivo ibm-web-bnd.xml como el archivo server.xml especifican un host virtual para una aplicación web, se utiliza el valor especificado en el archivo server.xml. Si la información que se está especificando puede tener varios valores, los valores del archivo server.xml se añaden a los valores de la aplicación. Por ejemplo, si el archivo ibm-application-bnd.xml define dos roles de seguridad y el archivo server.xml define uno, se utilizan los tres roles de seguridad. Si un rol de seguridad definido en el archivo server.xml tiene el mismo nombre que un rol de seguridad definido en ibm-application-bnd.xml, el rol del archivo server.xml sobrescribe el rol de la aplicación.
<application location="stockPrices.ear">
<web-ext moduleName="stockDisplay" default-error-page="error.html"/>
</application>
De forma similar, para una aplicación EJB definida en el archivo stockData.jar, la siguiente configuración de
server.xml especificaría un enlace de origen de datos:<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>
El entorno de ejecución de Liberty no utiliza algunos elementos especificados en los archivos de extensiones y enlaces. Por ejemplo, en las extensiones de aplicaciones web el valor del atributo de intervalo de recarga se ignora porque en el comportamiento de recarga de Liberty lo controla la configuración applicationMonitor. No hay errores como resultado de especificar estos elementos en la configuración de server.xml. Debido a la ausencia de errores, es posible copiar el contenido de los enlaces de aplicación y archivos de extensiones en el archivo server.xml. Sin embargo, esto podría dar como resultado avisos de elementos no reconocidos cuando se edite la configuración en las herramientas del desarrollador de WebSphere.
Si desea la lista completa de enlaces y extensiones que se pueden especificar en el archivo server.xml, consulte los elementos de configuración en el archivo 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>