Orden de mensajes estricto utilizando especificaciones de activación o puertos de escucha ASF conectados a WebSphere MQ Versión 7.x

Puede obtenerse el orden de mensajes estricto al desplegar aplicaciones de bean controlado por mensaje en el proveedor de mensajería de WebSphere MQ cuando no se han codificado recursos especiales en la aplicación para manejar los mensajes que llegan desordenados.

Para WebSphere Application Server versión 7 y posteriores, los puertos de escucha se estabilizan. Para obtener más información, consulte el artículo sobre las características que se han estabilizado. Debe planificar la migración de sus configuraciones de despliegue de beans controlados por mensajes de WebSphere MQ para pasar de utilizar puertos de escucha a utilizar especificaciones de activación. [AIX Solaris HP-UX Linux Windows][IBM i]Para obtener más información sobre cómo configurar especificaciones de activación para la modalidad no ASF, consulte Configuración de especificaciones de activación para la modalidad no ASF. No obstante, no debe iniciar esta migración hasta que esté seguro de que la aplicación no tiene que trabajar con servidores de aplicaciones anteriores WebSphere Application Server Versión 7. Por ejemplo, si tiene un clúster de servidor de aplicaciones con algunos miembros de la versión 6.1 y otros de una versión posterior, no debe migrar las aplicaciones en dicho clúster para que utilicen las especificaciones de activación hasta que haya migrado todos los servidores de aplicaciones del clúster a la versión posterior.

En este escenario se han establecido las presunciones siguientes:
  • La aplicación de beans controlados por mensajes (MDB) es transaccional.
  • El umbral de restitución (BOTHRESH) en la cola de WebSphere MQ se ha establecido en 0.
  • Si utiliza WebSphere MQ Versión 7.0 o posterior.

Configuración de WebSphere Application Server para entrega ordenada

  • El gestor de colas de WebSphere MQ debe estar en ejecución en WebSphere MQ Versión 7.0 o posterior.
  • La conexión con el gestor de colas debe utilizar la modalidad normal del proveedor de mensajería de WebSphere MQ. Consulte el tema Reglas de selección de la modalidad de proveedor de mensajería de WebSphere MQ del Information Center de WebSphere MQ.
  • Si utiliza puertos de escucha, el valor de Número máximo de sesiones de los puertos de escucha en WebSphere Application Server debe establecerse en 1.
  • Si utiliza especificaciones de activación, el valor de Número máximo de sesiones de servidor de las especificaciones de activación en WebSphere Application Server debe establecerse en 1.

Información importante acerca de esta configuración

  • Los puertos de escucha ASF y las especificaciones de activación de WebSphere MQ contienen dos partes separadas, que conjuntamente realizan la entrega de mensajes. El gestor de colas considera estas dos partes como aplicaciones independientes:
    • La parte uno detecta los mensajes a medida que llegan, pero no los consume. En lugar de ello, los envía a la segunda parte.
    • La parte dos es una agrupación de sesiones de servidor que asigna una hebra para procesar el mensaje dentro de la transacción de la aplicación, y lo entrega al método onMessage() del MDB.
  • A partir de la versión 7.0, WebSphere MQ proporciona un modelo de transferencia para la detección de mensajes, que resulta más eficaz que el modelo de sondeo utilizado en versiones anteriores de WebSphere MQ, y proporciona un mejor orden de mensajes cuando funciona normalmente.

Circunstancias en las que los mensajes se pueden entregar desordenados

Los mensajes se pueden entregar sin orden con esta configuración en las circunstancias siguientes:

  • Después de una retrotracción de la transacción, el mensaje siguiente disponible en la cola puede ser entregado antes de que el mensaje se retrotracción se vuelva a entregar:
    • Para un puerto de escucha ASF, establecer Máximo de reintentos en cero impide la entrega fuera de orden después de una retrotracción deteniendo el puerto de escucha cuando se produce una retrotracción. No obstante, el puerto de escucha deberá reiniciarse manualmente a continuación.
    • Para una especificación de activación, la selección de Detener punto final si la entrega de mensajes falla y el establecimiento de Número de anomalías de entrega secuenciales antes de suspender el punto final en 0 impide la entrega fuera de orden después de una retrotracción pausando el punto final de mensaje cuando se produce una retrotracción. Sin embargo, el punto final de mensaje para el MDB deberá ser reanudado a continuación. Para obtener más información, consulte el Information Center de WebSphere MQ.
  • Los mensajes se pueden entregar fuera de orden durante una recuperación de la transacción:
    Nota: Un conjunto específico de sucesos debe producirse en un orden específico para que se pueda encontrar este escenario y, ello, como tal, no es común. Sin embargo, si la entrega del mensaje ordenado es imprescindible para el funcionamiento de la aplicación, deberá considerarla.
    • La entrega fuera de orden puede producirse con esta opción de despliegue durante la recuperación de una anomalía de uno de los siguientes componentes:
      • El servidor de aplicaciones que alberga el MDB
      • El gestor de colas de WebSphere MQ
      • Una red que se conecta con el servidor de aplicaciones y el gestor de colas
    • Si uno de estos componentes falla a mitad de un compromiso de dos fases de una transacción de MDB, el gestor de transacciones del servidor de aplicaciones restablece su conexión con el gestor de colas para resolver la transacción cuando el componente está disponible de nuevo.
    • Este proceso de recuperación es asíncrono y es posible que la entrega de nuevos mensajes al MDB comience antes del que el proceso de recuperación de la transacción haya finalizado. Si el resultado de la recuperación de la transacción es retrotraer la transacción, se devolverá el mensaje a la cola WebSphere MQ y se volverá a entregar a la aplicación, posiblemente después de que se hayan entregado los mensajes nuevos.

Consideraciones sobre un despliegue en clúster

  • Debe activar el MDB sólo en un miembro del clúster, ya que el servidor de aplicaciones no tiene un recurso que pueda gestionar esta activación automáticamente.
  • Puede establecer el estado de inicio de los puertos de escucha en detenido, independientemente del establecimiento del estado de inicio de una aplicación.
  • Puede iniciar y detener manualmente aplicaciones, puertos de escucha ASF y puntos finales de mensaje con interfaces de MBean utilizando el script wsadmin o utilizando la interfaces com.ibm.websphere.management.AdminClient a partir de código Java™ .

Icon that indicates the type of topic Concept topic



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