Asegurarse de que los mensajes no se pierden

Los mensajes que fluyen a través del dominio de intermediarios representan datos de la empresa que se desea conservar. Configure los mensajes, el entorno, o ambos, para asegurarse de que no pierde mensajes.

Los mensajes generados por las aplicaciones y los componentes de ejecución para la comunicación entre componentes, son importantes para el funcionamiento de los intermediarios. Los mensajes que se utilizan internamente entre componentes siempre utilizan el protocolo de WebSphere MQ. Los mensajes de aplicaciones pueden utilizar todos los protocolos de transporte soportados.

Para los mensajes de aplicaciones y los mensajes internos que se mueven por WebSphere MQ, hay dos técnicas que les protege contra la pérdida de mensajes:

Para obtener más información sobre cómo utilizar estas opciones, consulte la sección System Administration Guide de la publicación Centro de información en línea de WebSphere MQ Versión 6 o la publicación de la versión 5.3 de página web de la biblioteca de WebSphere MQ.

Mensajes internos

Los componentes de WebSphere Event Broker utilizan los mensajes de WebSphere MQ para comunicar sucesos y datos entre los procesos de intermediario y los subsistemas, y el Gestor de configuración y el Servidor de nombres de usuario. Los componentes aseguran que se aprovechen las características de WebSphere MQ para proteger contra la pérdida de mensajes. No es necesario efectuar ningún paso adicional para configurar WebSphere MQ o WebSphere Event Broker para que proteja contra la pérdida de mensajes internos.

Mensajes de aplicaciones

Si la entrega de mensajes de aplicaciones es muy importante, debe diseñar los programas de aplicación y los flujos de mensajes que utilizan para asegurarse de que no se pierden mensajes. Las técnicas que se utilizan dependen del protocolo utilizado por las aplicaciones.

WebSphere MQ Enterprise Transport y WebSphere MQ Mobile Transport
Si utiliza los nodos de entrada incorporados que aceptan mensajes a través de los protocolos de WebSphere MQ o WebSphere MQ Everyplace, puede utilizar las siguientes directrices y recomendaciones:
  • Utilizar mensajes persistentes

    Los productos de mensajería de WebSphere MQ proporcionan persistencia de mensajes, que define la longevidad del mensaje en el sistema y garantiza la integridad del mensaje. Los mensajes no persistentes se pierden en el caso de que se produzca una anomalía en el sistema o el gestor de colas. Los mensajes persistentes siempre se recuperan, aún en el caso de anomalías.

    Puede controlar la persistencia de los mensajes mediante estos procedimientos:
    • Programe las aplicaciones que colocan mensajes en una cola utilizando MQI o AMI para que indiquen que los mensajes son persistentes.
    • Defina la cola de entrada con persistencia de mensajes como valor predeterminado.
    • Configure el nodo de salida para que maneje mensajes persistentes.
    • Programe las aplicaciones de suscriptor para que soliciten la persistencia de los mensajes.

    Cuando un nodo de entrada lee un mensaje de la cola de entrada, la acción predeterminada es utilizar la persistencia definida en el cabecera del mensaje (MQMD) de WebSphere MQ, que ha sido establecida por la aplicación que crea el mensaje o por la persistencia predeterminada de la cola de entrada. El mensaje conserva esta persistencia a través del flujo de mensajes, a menos que se cambie en un nodo de proceso de mensajes posterior.

    Puede alterar temporalmente el valor de persistencia de cada mensaje cuando el flujo de mensajes termina en un nodo de salida. Este nodo tiene una propiedad que le permite especificar la persistencia de cada mensaje cuando se coloca en la cola de salida, bien como valor necesario o como un valor predeterminado. Si especifica el valor predeterminado, el mensaje toma el valor de persistencia definido para las colas en las que se escriben los mensajes.

    Si un mensaje pasa a través de un nodo Publication, la persistencia de los mensajes enviados a los suscriptores la determinan las opciones de registro de los suscriptores. Si un suscriptor ha solicitado la entrega de un mensaje persistente y está autorizado a ello por un ACL explícito o implícito (heredado), el mensaje se entrega de forma persistente, independientemente de la propiedad de persistencia existente. Además, si el usuario ha solicitado la entrega de un mensaje no persistente, el mensaje se entrega de forma no persistente, independientemente de la propiedad de persistencia existente.

  • Procesar mensajes bajo control de punto de sincronismo

    La acción predeterminada de un flujo de mensajes es procesar mensajes de entrada bajo un punto de sincronismo en una transacción controlada por intermediario. Esto significa el intermediario restituye el mensaje que, por algún motivo, no se puede procesar. Puesto que se ha recibido bajo un punto de sincronismo, el mensaje anómalo se vuelve a colocar en la cola de entrada y puede procesarse de nuevo. Si el proceso falla, se ejecutan los procedimientos de manejo de errores que hay para este flujo de mensajes (definidos según cómo se haya configurado el flujo de mensajes o por el intermediario).

    Para obtener más información sobre el proceso del nodo de entrada, consulte Gestionar errores en el nodo de entrada.

WebSphere MQ Telemetry Transport
Si utiliza el nodo SCADAInput que acepta mensajes de dispositivos de telemetría a través del protocolo MQIsdp, este protocolo no tiene el concepto de colas. Los clientes se conectan a un nodo SCADAInput especificando el número de puerto en el que está escuchando el nodo. Los mensajes se envían a los clientes utilizando un ID de cliente. Sin embargo, puede especificar un QoS (Calidad de servicio) máximo dentro de un mensaje de suscripción SCADA, que es parecido a la persistencia:
  • QoS0 No persistente.
  • QoS1 Persistente, pero puede entregarse más de una vez
  • QoS2 Se entrega sólo una vez

Si se publica un mensaje SCADA persistente, puede rebajarse al nivel más alto que el cliente pueda aceptar. En determinadas circunstancias, el mensaje puede convertirse en no persistente.

WebSphere MQ Real-time Transport y WebSphere MQ Multicast Transport
Si está utilizando los nodos Real-timeInput y Real-timeOptimizedFlow que aceptan mensajes de JMS y aplicaciones de multidifusión, no habrá ningún recurso disponible para protegerse contra la pérdida de mensajes. Sin embargo, puede proporcionar procedimientos de recuperación configurando el flujo de mensajes para que maneje sus propios errores.
Otros transportes y protocolos
Para nodos de entrada definidos por el usuario que reciben mensajes de otro protocolo de transporte, debe basarse en el soporte proporcionado por dicho protocolo de transporte o utilizar los procedimientos de recuperación proporcionados por el proveedor de los nodos definidos por el usuario.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Reservados todos los derechos.
Última actualización : 2009-02-16 14:30:20

ac00420_