[AIX Solaris HP-UX Linux Windows][IBM i]

Compartir conexiones para beneficiarse de la optimización de una sola fase

En algunas circunstancias, puede configurar la aplicación JMS para compartir la conexión JDBC que utiliza un motor de mensajería. Las conexiones compartidas le permiten utilizar la optimización de compromiso de una fase. Esto puede mejorar el rendimiento de la aplicación.

Acerca de esta tarea

Los motores de mensajería almacenan datos persistentes en una base de datos y utilizan un origen de datos JDBC para interactuar con dicha base de datos. Algunas aplicaciones JMS también almacenan datos persistentes en una base de datos, por ejemplo, si la aplicación utiliza enterprise beans de entidad. Generalmente, dichas aplicaciones utilizan transacciones de compromiso de dos fases para coordinar las actualizaciones con los recursos JMS y JDBC implicados.
Puede configurar la aplicación para compartir la conexión JDBC que utiliza un motor de mensajería, lo que le permite utilizar transacciones de compromiso de una fase y mejorar el rendimiento de la aplicación. Puede beneficiarse de la optimización del compromiso de una fase en las circunstancias siguientes:
  • La aplicación debe utilizar el atributo de fiabilidad seguro persistente para sus mensajes JMS.
  • La aplicación debe utilizar los beans de entidad de persistencia gestionada por contenedor (CMP) que están enlazados al mismo origen de datos JDBC que utiliza el motor de mensajería para su almacén de datos.
Restricción: No puede beneficiarse de la optimización del compromiso de una fase en las circunstancias siguientes:
  • Si la aplicación utiliza un atributo de fiabilidad distinto a seguro persistente para sus mensajes JMS.
  • Si la aplicación utiliza beans de entidad BMP o clientes JDBC.
  • Si la aplicación utiliza (HADR) High Availability Disaster Recovery de DB2.

Para poder configurar el sistema, asegúrese de que tiene en cuenta todos los componentes de la aplicación Java EE que pueden verse afectados por los compromisos de una fase.

Procedimiento

  1. Seleccione el atributo de fiabilidad seguro persistente para los mensajes JMS.
  2. Despliegue todos los enterprise beans CMP implicados en transacciones de compromiso de una fase con res-auth establecido en Container.
  3. Despliegue todos los enterprise beans CMP implicados en las transacciones de compromiso de una fase donde AccessIntent se correlaciona con un nivel de aislamiento de transacción de Lectura comprometida JDBC. Puede seleccionar cualquiera de los valores siguientes para AccessIntent:
    • WSOptimisticUpdate
    • WSOptimisticRead
    • WSPessimisticUpdate-NoCollisions
    Consejo de Oracle: Todos los valores de AccessIntent, excepto WSPessimisticUpdateExclusive, se correlacionan con el nivel de aislamiento de transacción de lectura comprometida JDBC.
    Consejo de DB2: Puede utilizar cualquier valor para AccessIntent, porque WebSphere Application Server explota el soporte de nivel de aislamiento de transacciones dinámicas de DB2.
  4. Asegúrese de que utiliza el mismo alias de autenticación para los enterprise beans CMP y el almacén de datos del motor de mensajería.
  5. Cuando configure el origen de datos JDBC, asegúrese de que selecciona la opción Utilizar origen de datos para beans CMP.
  6. Establezca el valor para la propiedad personalizada del origen de datos JDBC jmsOnePhaseOptimization en true.
  7. Utilice la fábrica de conexiones JMS o los paneles de especificación de activación para seleccionar la opción Compartir origen de datos con CMP.
  8. Cuando cree el proveedor JDBC y establezca el campo Seleccionar el tipo de implementación, asegúrese de que selecciona Origen de datos de la agrupación de conexiones (y no un origen de datos XA).

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=tjm0280_
File name: tjm0280_.html