Destinos de excepciones
Un destino de excepción es una ubicación para los mensajes que no se pueden entregar, o permanecer, en un destino especificado, pero que tampoco se pueden descartar. Los destinos de excepción evitan la pérdida de mensajes cuando la calidad de servicio especificada para un mensaje así lo requiere.
- La integración de servicios no puede entregar un mensaje en el destino señalado especificado, y no se puede descartar el mensaje debido a la calidad de servicio del mensaje. La integración de servicios entrega el mensaje a un destino de excepción.
- Un mensaje excede el número máximo de intentos de entrega a un consumidor transaccional. Esto puede producirse si el consumidor transaccional falla, y el mensaje se retrotrae y se vuelve a consumir repetidamente. Cuando se alcanza el límite de entrega (el valor Entregas máximas fallidas por mensaje) el mensaje se direcciona al destino de excepción.
- Un destino que contiene mensajes, se suprime. Dichos mensajes se mueven a un destino de excepción.
- Utilice el destino de excepción predeterminado del motor de mensajería pertinente.Cada motor de mensajería tiene un destino de excepción predeterminado denominado _SYSTEM.Exception.Destination.nombre_motor_mensajería, que se crea automáticamente cuando se crea un motor de mensajería. Este destino de excepción predeterminado almacena los mensajes que no se pueden entregar para los destinos de bus que se encuentren en el motor de mensajería. Cuando utiliza el destino de excepción predeterminado, un administrador puede acceder a todos los mensajes que no se pueden entregar para un motor de mensajería en una única ubicación.Nota: No se puede modificar el destino de excepción predeterminado, y no se debe suprimir.
- Utilice un destino de excepción específico asociado al recurso pertinente, por ejemplo, un destino de cola, un destino un espacio de temas, un enlace de bus de integración de servicios o un enlace WebSphere MQ.
El destino de excepción asociado a un destino se utiliza si no se puede entregar un mensaje porque se haya excedido el número máximo de intentos de entrega a un consumidor transaccional. Cuando utiliza un destino de excepción específico para un destino de cola o de espacio de temas, un administrador puede acceder a aquellos mensajes no entregados para dicho destino de una ubicación.
El destino de excepción que se asocia con un enlace se utiliza si un mensaje no se puede entregar porque el destino está lleno o no existe.
Un destino de excepción debe ser un destino de cola, y puede ser local o remoto. El destino de excepción ya debe existir antes de poder configurar otro recurso para que utilice dicho destino de excepción. Si el destino de excepción no es una cola, o si no existe cuando llega el mensaje, los mensajes no entregados se redireccionan al destino de excepción predeterminado del motor de mensajería pertinente.
Tenga en cuenta que no puede configurar un destino de excepción para un bus; debe configurar un destino de excepción para cada destino del bus.
- No redireccione los mensajes no entregados a ningún destino de excepción, es decir, especifique None.
Los intentos de entrega del mensaje continúan. Para un enlace de bus de integración de servicios, un mensaje no entregado podría bloquear el proceso de otros mensajes que estén esperando a que se entreguen en el mismo destino. Para un enlace WebSphere MQ, un mensaje no entregado podría bloquear el proceso de otros mensajes que estén esperando a que se entreguen a través de dicho enlace al mismo bus.
Las opciones de informe que se establecen en las propiedades de un mensaje individual también afectan al proceso del destino de excepción. En función de la opción de informe que se establezca, cuando las condiciones se aplican a la integración de servicios para enviar un mensaje a un destino de excepción, la integración de servicios también envía un mensaje de informe al destino de respuesta del mensaje, o elimina el mensaje, en lugar de enviarlo al destino de excepción, o ambas cosas.
- Los mensajes especiales siempre se descartan si no pueden entregarse a su destino indicado, es decir, nunca utilizarán un destino de excepción.
- Un mensaje no puede estar disponible para los clientes hasta que no se ha entregado satisfactoriamente a un destino.
La integración de servicios no puede garantizar el orden los mensajes enviados a un destino de excepción. Por lo tanto, si el orden de los mensajes es importante, puede configurar un destino de bus para que no se utilice un destino de excepción. En esta situación, se ignora el límite Entregas máximas fallidas por mensaje especificado para el destino y el mensaje sigue estando disponible para los consumidores. Los consumidores síncronos intentan obtener el mensaje repetidamente; los beans controlados por mensajes y otros consumidores asíncronos intentan consumir el mensaje de forma reiterada. Esta situación continúa hasta que se elimina el mensaje del destino (por ejemplo, lo elimina un administrador mediante la consola administrativa) o el consumidor puede procesar el mensaje posteriormente, sin la retrotracción.