Visualización de descriptores de despliegue
Un descriptor de despliegue es un archivo XML (extensible markup language) que especifica la configuración y las opciones de contenedor correspondientes a una aplicación o módulo.
Antes de comenzar
En este tema se da por supuesto que ha instalado una aplicación o módulo en el servidor y que desea ver su descriptor de despliegue.
Acerca de esta tarea
Cuando crea una aplicación o módulo Java™ 2 Platform, Enterprise Edition (J2EE) en una herramienta de ensamblaje, la herramienta de ensamblaje crea archivos de descriptor de despliegue para la aplicación o módulo. Los módulos o las aplicaciones Java EE (Java Platform, Enterprise Edition) 5 o posterior pueden utilizar anotaciones en lugar de descriptores de despliegue.
Después de instalar una aplicación o módulo en un servidor, puede ver su descriptor de despliegue en la consola administrativa. No puede ver anotaciones de Java EE 5 o posterior.
A menos que una aplicación dé soporte a Java EE 5 o posterior, un archivo EAR (Enterprise Archive) debe contener un archivo application.xml. El archivo application.xml identifica cada módulo de una aplicación. No se requiere una aplicación Java EE para proporcionar un archivo application.xml en un archivo EAR. Cuando un archivo application.xml no existe, el producto examina el contenido del archivo JAR (Java Archive) para determinar si el archivo JAR es un módulo EJB (Enterprise bean) o un módulo de cliente de aplicación. Un archivo JAR no debe contener más de un descriptor de despliegue. Cuando se encuentra un archivo ejb-jar.xml en un archivo JAR, el producto lo considera un módulo EJB. Si no se encuentra un archivo ejb-jar.xml y se encuentra un archivo application-client.xml, el producto considera que el archivo JAR es un módulo de cliente de aplicación. Si tanto el archivo ejb-jar.xml como el archivo application-client.xml existen en el archivo JAR, el producto puede considerar que un archivo JAR que pretendía ser un módulo de cliente de aplicación es un módulo EJB, o que un archivo JAR que pretendía ser un módulo EJB es un módulo de cliente de aplicación. Un archivo JAR no debe contener más de un tipo de descriptor de despliegue.
Procedimiento
Resultados
Se visualiza el descriptor de despliegue para la aplicación.
Ejemplo
A continuación se muestra el descriptor de despliegue para DefaultApplication del producto:
<application version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" >
<description> This is the IBM WebSphere Application Server Default Application.</description>
<display-name> DefaultApplication.ear</display-name>
<initialize-in-order> False</initialize-in-order>
<module id="WebModule_1" >
<web>
<web-uri> DefaultWebApplication.war</web-uri>
<context-root> /</context-root>
</web>
</module>
<security-role id="SecurityRole_1" >
<description> All Authenticated users role.</description>
<role-name> All Role</role-name>
</security-role>
</application>
DefaultApplication
contenía Increment.jar con un EJB de entidad y tenía un descriptor de despliegue distinto.<application id="Application_ID" >
<display-name> DefaultApplication.ear</display-name>
<description> This is the IBM WebSphere Application Server Default Application.</<description>
<module id="WebModule_1" >
<web>
<web-uri> DefaultWebApplication.war</web-uri>
<context-root> /</context-root>
</web>
</module>
<module id="EjbModule_1" >
<ejb> Increment.jar</ejb>
</module>
<security-role id="SecurityRole_1204342979281" >
<description> All Authenticated users role.</description>
<role-name> All Role</role-name>
</security-role>
</application>
Qué hacer a continuación
Después de visualizar un descriptor de despliegue en la página de consola, realice lo siguiente:
- Examine el contenido del descriptor de despliegue, incluyendo las configuraciones que tenga para los enlaces de aplicación, los roles de seguridad, las referencias a otros recursos, o los nombres JNDI (Java Naming and Directory Interface).
Por ejemplo, examine los archivos JAR del módulo Java EE 5 o posterior para asegurarse de que cada archivo JAR no contiene más de un tipo de descriptor de despliegue. Si un archivo JAR contiene más de un tipo de descriptor de despliegue, siga al siguiente paso y elimine el descriptor de despliegue ajeno. Por lo tanto, si los archivos ejb-jar.xml y application-client.xml existen en el archivo JAR, elimine el descriptor de despliegue que el módulo no necesita.
- Cambie un descriptor de despliegue cuando sea necesario.
Puede editar archivos descriptores de despliegue manualmente. No obstante, es preferible editar los descriptores de despliegue utilizando la consola o en un editor de descriptor de despliegue de herramienta de ensamblaje para asegurarse de que el descriptor tiene las propiedades válidas y de que las referencias contienen los valores correctos.
Si el módulo Java EE 5 o posterior no tiene un atributo metadata-complete
o el atributo metadata-complete
se ha establecido en false
, puede indicar al producto que grabe todo el descriptor de despliegue del módulo, incluida la información de despliegue de las anotaciones, en un formato XML. En la página Metadatos para módulos, seleccione metadata-complete attribute.
metadata-complete
en true
hace que el producto represente de forma incorrecta una anotación @EJB
en el descriptor de despliegue como <ejb-ref>
en vez de <ejb-local-ref>
. En los módulos web, establecer el atributo metadata-complete
en true
podría causar errores de tipo InjectionException. Si debe establecer el atributo metadata-complete
en true
, evite errores no utilizando una biblioteca compartida, colocando la biblioteca compartida en el directorio classes o lib del servidor de aplicaciones, o especificando completamente los metadatos en los descriptores de despliegue.