Configuración de los atributos de despliegue transaccionales

Puede configurar los atributos del descriptor de despliegue transaccional asociados a módulos EJB o web, para habilitar la utilización de transacciones en aplicaciones empresariales.

Antes de empezar

Debe tener un archivo EAR (Enterprise Archive) para un componente de la aplicación que se puede desplegar en el servidor de aplicaciones.

Acerca de esta tarea

Puede configurar los atributos de despliegue de una aplicación mediante la herramienta de ensamblaje.

Puede utilizar Rational Application Developer, o una herramienta equivalente, para configurar los atributos de despliegue de una aplicación.

Para utilizar Rational Application Developer y establecer atributos transaccionales en el descriptor de despliegue del componente de aplicación (enterprise bean o servlet), complete los pasos siguientes:

Procedimiento

  1. Inicie la herramienta de ensamblaje. Para obtener más información, consulte la relativa a Rational Application Developer.
  2. Cree o edite el archivo EAR de la aplicación. Por ejemplo, para cambiar los atributos de una aplicación existente, utilice el asistente de importación para importar el archivo EAR en la herramienta de ensamblaje. Para iniciar el asistente de importación:
    1. Pulse Archivo > Importar > Archivo EAR.
    2. Pulse Siguiente y seleccione el archivo EAR.
    3. Pulse Finalizar.
  3. En la vista de Explorador de proyectos de la perspectiva de Java EE, pulse con el botón derecho del ratón la instancia del componente y después pulse Abrir con > Editor de descriptor de despliegue. Para localizar la instancia del componente, utilice el paso adecuado:
    • Para un bean de sesión, expanda Módulos EJB > instancia_módulo_ejb > Descriptor de despliegue > Beans de sesión y, después, seleccione la instancia del bean.
    • Para un servlet, expanda Módulos web > aplicación_web > Descriptor de despliegue > componente web y, después, seleccione la instancia del servlet.
    Se mostrará en el panel de propiedades un cuaderno de diálogo de propiedades del descriptor de despliegue del componente.
  4. Opcional: Sólo para beans de sesión, establezca el atributo "Tipo de transacción", que define la forma transaccional en que el contenedor llama a un método. Puede establecer este atributo en Contenedor o Bean, domo se detalla a continuación:
    • Para utilizar las transacciones gestionadas por contenedores, establezca el atributo en Contenedor.
    • Para utilizar transacciones gestionadas por beans, establezca el atributo en Bean.
  5. En el cuaderno del descriptor de despliegue, seleccione el separador Bean. Opcionalmente, en la sección Extensiones de WebSphere, configure los atributos de transacción local. Para habilitar la gestión de contenedores de transacciones locales, configure los atributos de extensiones de componente siguientes. Estos atributos configuran, para el componente, el comportamiento del entorno de contención de transacciones locales (LTC) de contenedor que éste establece cuando no está presente una transacción global.
    Límite
    Este valor especifica el límite de contención en el que deben llevarse a cabo todas las transacciones locales del gestor de recursos (RMLT) incluidas. Los valores posibles son Método de bean o Contenedor en límite.
    • Método de bean: es el valor predeterminado. Si selecciona esta opción, las RMLT se deben resolver dentro del mismo método de bean en el que se iniciaron.
    • [Sólo componentes EJB] Sesión de actividad: las RMLT deben resolverse dentro del ámbito de las sesiones de actividades donde se hayan iniciado o, si no hay ningún contexto de sesión de actividad, dentro del mismo método de bean en el que se iniciaron.
      Nota: No se admite la opción Sesión de actividad en el contenedor web.
    Solucionador
    Este valor especifica el componente responsable de iniciar y finalizar las RMLT. Los valores posibles son Aplicación o Contenedor en límite.
    • Aplicación: es el valor predeterminado. La aplicación es responsable de iniciar las RMLT y de completarlas dentro del límite de contención de transacciones locales (LTC). El contenedor elimina todas las RMLT que se hayan completado al final del límite de LTC de acuerdo con el valor del atributo Acción no resuelta.
    • Contenedor en límite: el contenedor es responsable de iniciar las RMLT y de completarlas dentro del limite de LTC. El contenedor empieza un RMLT cuando se utiliza una conexión por primera vez dentro del ámbito de LTC y la completa automáticamente al final del ámbito de LTC. Si Límite se establece como Sesión de actividad, las RMLT se incluyen como recursos de Sesión de actividad y se dirigen a que las finalice la Sesión de actividad. Si Límite se establece en Método de bean, el contenedor confirma las RMLT al final del método.
    Acción no resuelta
    Especifica la dirección que tomarán las RMLT de solicitudes de contenedor si están sin resolver al final del ámbito de límite de LTC y el Solucionador se establece en Aplicación. Los valores posibles son Retrotraer o Confirmar.
    • Retrotraer: es el valor predeterminado. Al final del ámbito del límite de LTC, el contenedor indica a todas las RMLT sin resolución que se retrotraigan.
    • Confirmar: al final del ámbito del límite de LTC, el contenedor indica a todas las RMLT sin resolución que se confirmen. El contenedor indicará a las RMLT que se confirmen sólo si no hay ninguna excepción no manejada. Si el método de aplicación que se ejecuta bajo el contexto de transacción local finaliza con una excepción, el contenedor retrotraerá todas las RMLT sin resolver. Este es el mismo comportamiento que para las transacciones globales.
    Compartible
    Especifica si el componente puede compartir una LTC. Sólo se inicia una nueva LTC si todavía no está presente una LTC que se pueda compartir. Las aplicaciones que utilizan LTC compartibles no puede confirmar ni retrotraer de forma explícita conexiones del gestor de recursos utilizadas en un LTC compartible (aunque éstos utilicen conexiones con la función autoCommit).

    Si una aplicación inicia un trabajo que no se puede confirmar automáticamente en una LTC para la que el atributo Solucionador está establecido en Aplicación y el atributo Compartible está establecido en true, se produce una excepción en tiempo de ejecución. Por ejemplo, en una conexión JDBC, el trabajo que no es de confirmación automática es trabajo que la aplicación realiza después de utilizar el método setAutoCommit(false) para desactivar la opción de confirmación automática en la conexión. Los enterprise beans que utilizan transacciones gestionadas (BMT) no se pueden ensamblar con el atributo Shareable establecido en la configuración LTC.

    Debe especificar el atributo Shareable para todos los componentes que comparten LTC. El componente que crea la LTC compartible determina las otras propiedades de la LTC compartida, por ejemplo el valor del atributo Solucionador.

  6. En la sección Extensiones de WebSphere, configure los atributos de transacción global. Estos atributos configuran, para el componente, el funcionamiento en presencia de una transacción global.
    Tiempo de espera de transacción de componente
    Sólo para enterprise beans que utilicen transacciones gestionadas por contenedor, especifica el tiempo de espera de transacción, en segundos, para cualquier transacción global nueva que se haya iniciado mediante el contenedor en nombre del enterprise bean. Para las transacciones iniciadas en nombre del componente, el valor de tiempo de espera de transacción de componente altera temporalmente el tiempo de espera del ciclo de vida de transacción total predeterminado configurado en los valores de servicio de transacciones del servidor de aplicaciones.

    Los atributos siguientes habilitan el soporte de WS-AtomicTransaction y WS-BusinessActivity para aplicaciones JAX-RPC únicamente:

    Utilizar transacción atómica de servicios web
    Sólo para enterprise beans, cuando se selecciona este atributo, si el componente de la aplicación realiza solicitudes de servicios web, los contextos de transacciones se propagan con las solicitudes de servicios web de acuerdo con el soporte de WS-AtomicTransaction de WebSphere que se describe en el apartado Soporte de transacción atómica de servicios web (WS-AT) en el servidor de aplicaciones. Cuando no se selecciona este atributo, las solicitudes de servicios web no transportan el contexto de transacción.
    Enviar transacción atómica de servicios web en solicitudes
    Sólo para componentes web, cuando se selecciona este atributo, si el componente de la aplicación realiza solicitudes de servicios web, los contextos de transacciones se propagan con las solicitudes de servicios web de acuerdo con el soporte de WS-AtomicTransaction de WebSphere que se describe en el apartado Soporte de transacción atómica de servicios web (WS-AT) en el servidor de aplicaciones. Cuando no se selecciona este atributo, las solicitudes de servicios web no transportan el contexto de transacción.
    Ejecutar mediante la transacción atómica de servicios web de las solicitudes entrantes
    Sólo para componentes web, cuando se selecciona este atributo, los componentes de la aplicación web están preparados para ejecutarse bajo el contexto de WS-AtomicTransaction recibido. Un componente de la aplicación web puede ejecutarse bajo un contexto de WS-AtomicTransaction recibido de forma similar a un enterprise bean desplegado con un tipo de transacción de contenedor de Supports. Cuando no se selecciona este atributo, el contenedor del componente de la aplicación web suspende los contextos de transacciones recibidos, de un modo similar al comportamiento de un contenedor de EJB para un enterprise bean desplegado con un Tipo de transacción de contenedor de NotSupported.

    Si la aplicación utiliza JAX-WS, para habilitar el soporte de WS-AtomicTransaction o WS-BusinessActivity cree un conjunto de políticas, añada el tipo de política WS-Transaction al conjunto de políticas y conecte el conjunto de políticas al servicio o cliente.

    Si un conjunto de políticas conectado a un cliente incluye el tipo de política WS-Transaction, cualquier contexto de transacción global activo se propaga con una solicitud de servicio web, esto es similar a lo que ocurre en los descriptores de despliegue con Utilizar transacción atómica de servicios web y Enviar transacción atómica de servicios web en solicitudes descritos anteriormente. Asimismo, cuando se incluye el tipo de política WS-Transaction, el servicio se ejecuta bajo cualquier contexto WS-AtomicTransaction, de un modo similar a lo que ocurre en el descriptor de despliegue con Ejecutar utilizando transacción atómica de servicios web en las solicitudes de entrada, como se ha descrito anteriormente en este tema.

  7. Sólo para componentes de EJB, en las transacciones gestionadas por contenedor, configure cómo el contenedor gestiona los límites de transacción cuando delega una invocación a método en un método de empresa del enterprise bean:
    1. En el cuaderno del descriptor de despliegue, seleccione el separador Ensamblado. En el recuadro Transacciones de contenedor, se muestra la tabla de los métodos para los enterprise beans.
    2. Para cada método del enterprise bean, establezca el tipo de transacción de contenedor en un valor adecuado. El valor predeterminado del tipo de transacción de contenedor es Necesario, lo que significa que la invocación del método se produce en el contexto de una transacción. Esta transacción es la transacción del componente de cliente (local o remoto) o, si el componente de cliente no se ejecuta en una transacción, una nueva transacción iniciada por el contenedor del componente.

    Si la aplicación utiliza sesiones de actividad, el modo en el que el contenedor gestiona los límites de transacciones al delegar una invocación de método depende tanto del tipo de transacción de contenedor establecido en esta tarea como del atributo del tipo de sesión de actividad que se describe en Establecimiento de atributos de despliegue de sesión de actividad del módulo EJB. Para más detalles sobre la relación entre estas dos propiedades, consulte Políticas de sesión de actividad y contenedor de transacciones combinadas.

  8. En las aplicaciones de servicios web que utilizan un enlace SOAP/JMS y participan en WS-AtomicTransactions, establezca el tipo de transacción del bean controlado por mensaje denominado "JMS router MDB" en un valor NotSupported, como se ha descrito en el paso anterior. Las aplicaciones de servicios web que utilizan un enlace SOAP/JMS incluyen en el EAR ensamblado un bean controlado por mensajes de direccionador denominado "JMS router MDB". Si un servicio web utiliza el enlace SOAP/JMS y participa en WS-AtomicTransactions, como se ha descrito en Soporte de transacción atómica de servicios web (WS-AT) en el servidor de aplicaciones, establezca el tipo de transacción de contenedor de "JMS router MDB" en un valor de NotSupported.

    Para las aplicaciones de servicios web que utilizan un enlace SOAP/HTTP y participan en WS-AtomicTransactions no es necesario realizar esa operación.

  9. Sólo para componentes de aplicaciones cliente, si es necesario, habilite el soporte para la demarcación de transacciones por parte del cliente. En el cuaderno del descriptor de despliegue, seleccione el recuadro de selección Permitir demarcación de JTA. Esta opción dirige al contenedor del cliente para que enlace la interfaz UserTransaction de la API de transacciones Java™ (JTA) con JNDI en java:comp/UserTransaction para el componente de cliente. Existen restricciones sobre el soporte de transacciones en el contenedor del cliente que se describen en el apartado Soporte de cliente para transacciones.
  10. Guarde los cambios en el descriptor de despliegue.
    1. Cierre el editor del descriptor de despliegue.
    2. Cuando se le solicite, pulse para guardar los cambios en el descriptor de despliegue.
  11. Verifique los archivos de archivado. Para obtener más información sobre cómo verificar archivos utilizando Rational Application Developer, consulte la información de Rational Application Developer.
  12. Desde el menú emergente del proyecto, pulse Desplegar para generar el código de despliegue de EJB.
  13. Opcional: Pruebe el módulo completado en la instalación del servidor de aplicaciones. Pulse con el botón derecho del ratón en un módulo, pulse Ejecutar en servidor y siga las instrucciones del asistente resultante.
    Importante: Utilice la opción Ejecutar en servidor sólo para probar la unidad. La herramienta de ensamblado controla la instalación del servidor de aplicaciones y, cuando se publica de forma remota una aplicación, la herramienta de ensamblado graba encima del archivo de configuración de servidor correspondiente a ese servidor. No utilice Ejecutar en servidor en los servidores de producción.

Qué hacer a continuación

Después de ensamblar la aplicación, utilice una herramienta de gestión de sistemas, para desplegar el archivo EAR en el servidor de aplicaciones que va a ejecutar la aplicación.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjta_entra2
File name: tjta_entra2.html