Protección de una aplicación MDB frente problemas de recursos del sistema

Puede configurar el sistema, de modo que si existe un problema con un recurso del sistema externo dependiente, la aplicación empresarial se detenga antes de que se muevan de forma innecesaria los mensajes a un destino de excepciones. Esta configuración también maneja los problemas ocasionales con mensajes sin bloquear la aplicación de empresa.

Antes de empezar

Esta tarea presupone que ha desplegado una aplicación de empresa que contiene un bean controlado por mensajes (MDB) que interactúa con los recursos del sistema externos.

El destino en el que escucha el MDB debe utilizar un destino de excepciones. Este destino de excepciones puede ser el valor predeterminado del sistema o uno configurado específicamente para el destino.

Para completar esta tarea, necesita la información siguiente:
  • La aplicación de empresa que contiene el MDB.
  • Los recursos del sistema externo dependientes.
  • Un valor aceptable para Umbral de mensaje fallido secuencial, es decir, el número máximo de anomalías secuenciales de entrega de mensajes, después del cual se detiene el MDB. Esta propiedad se aplica a los conjuntos de mensajes.
  • Un valor aceptable para el Retardo entre reintentos de mensaje fallido, es decir, el tiempo en milisegundos antes de que un mensaje que falla esté disponible para ser entregado al MDB. Durante este periodo, se pueden entregar otros mensajes, a menos que Umbral de mensaje fallido secuencial y el valor máximo de simultaneidad estén establecidos en 1.
  • Un valor aceptable para Entregas máximas fallidas por mensaje, es decir, el número máximo de intentos anómalos para procesar el mensaje, después del que el mensaje se reenvía desde su destino previsto al destino de excepciones. Esta propiedad se aplica a mensajes individuales.

Acerca de esta tarea

Cuando un MDB no puede procesar un mensaje, el mensaje se retrotrae y se vuelve a poner a disposición del MDB. Normalmente, el sistema de mensajería se configura de una de las siguientes maneras:
  1. Los mensajes anómalos se reitentan un número finito de veces y, si siguen fallando, se mueven a un destino de excepciones lo que permite que se procesen los mensajes siguientes.
  2. Los mensajes anómalos se reintentan indefinidamente hasta que se soluciona el problema.

La configuración (1) protege el MDB frente a un mensaje con problema ocasional que impide que se procesen los mensajes posteriores. No obstante, si existe un problema prolongado con un recurso del que depende la aplicación empresarial o la aplicación de nivel empresarial, por ejemplo una base de datos, todos los mensajes que se envían al destino se pueden trasladar al destino de excepciones.

La configuración (2) bloquea la entrega de mensajes hasta que se resuelve el problema del mensaje anómalo original. Esta configuración impide que los mensajes se muevan de forma innecesaria a un destino de excepciones, pero también bloquea los mensajes posteriores en cuanto no se puede procesar un solo mensaje anómalo.

Puede configurar la especificación de activación para un MDB, de modo que el punto final del MDB se detenga automáticamente cuando se detecte un número de anomalías con mensajes secuenciales. Estas anomalías indican un problema con un recurso dependiente. Cuando se resuelve el problema, el punto final del MDB se reinicia manualmente. Esta configuración tolera las anomalías de mensaje ocasionales, y permite mover los mensajes individuales con problemas al destino de excepciones sin bloquear todo el MDB.

Utilice los pasos siguientes para proteger una aplicación empresarial contra anomalías de recursos del sistema externos dependientes.

Procedimiento

  1. Vaya hasta la aplicación empresarial desplegada que contiene el MDB.
  2. Desde el MDB, vaya a su especificación de activación JMS. Pulse Recursos -> JMS -> Especificaciones de activación -> nombre_especificación_activación.
  3. Escriba un valor para Umbral de mensaje fallido secuencial y Retardo entre reintentos de mensaje fallido.
  4. Guarde la configuración.
  5. Vaya al destino donde escucha el MDB. Pulse una de las siguientes vías de acceso, según corresponda:
    • Integración de servicios -> Buses -> nombre_bus -> [Recursos de destino] Destinos -> nombre_cola
    • Integración de servicios -> Buses -> nombre_bus -> [Recursos de destino] Destinos -> nombre_espacio_temas
  6. Escriba un valor para Entregas máximas fallidas por mensaje.
  7. Guarde los cambios en la configuración maestra.

Resultados

Ha configurado la aplicación empresarial o la aplicación de nivel empresarial para protegerse a sí misma del tipo de problemas de recurso externo que se pueden producir en cualquier momento. Esto significa que, en el caso de un problema de recurso del sistema, se detiene automáticamente el MDB cuando se alcanza Umbral de mensaje fallido secuencial para cualquier mensaje.

Qué hacer a continuación

Cuando el recurso del sistema que ha fallado pasa a estar disponible, podrá reiniciar el recurso del sistema y reanudar el MDB. Los mensajes que han fallado durante el tiempo de inactividad del recurso del sistema se reintentan en lugar de dejarse en un destino de excepciones.

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