Protection d'une application MDB à partir d'incidents de ressource système
Vous pouvez configurer le système de sorte qu'en cas d'incident avec une ressource système externe dépendante, l'application d'entreprise est arrêtée avant que des messages ne soient inutilement transférés vers une destination d'exception. Cette configuration gère également des incidents occasionnels sur les messages sans bloquer l'application d'entreprise.
Avant de commencer
La destination sur laquelle le bean géré par message est en mode écoute doit utiliser une destination d'exception. Cette destination d'exception peut être la valeur par défaut du système ou une valeur configurée spécifiquement pour la destination.
- L'application d'entreprise qui contient le bean géré par message.
- Ressources système externes dépendantes.
- Une valeur acceptable pour l'option Seuil d'échecs de messages séquentiels, à savoir, le nombre maximal d'incidents séquentiels de distribution des messages, au delà duquel le bean géré par message est arrêté. Cette propriété s'applique à des ensembles de messages.
- Une valeur acceptable pour l'option Fréquence entre deux échecs de message, à savoir, le délai en millisecondes avant qu'un message d'incident ne puisse être distribué au bean géré par message. D'autres messages peuvent être distribués au cours de cette période, sauf si l'option Seuil d'échecs de messages séquentiels et le nombre maximal d'accès concurrents ont la valeur 1.
- Une valeur acceptable pour l'option Nombre maximal de remises par message, à savoir, le nombre maximal de tentatives de traitement d'un message défectueuses, après quoi le message est transmis de sa destination prévue à la destination d'exception. Cette propriété s'applique à des messages spécifiques.
Pourquoi et quand exécuter cette tâche
- Les messages ayant échoué font l'objet de nouvelles tentatives et, s'ils échouent toujours, sont transférés vers une destination d'exception afin d'autoriser le traitement des messages suivants.
- Les messages ayant échoué font l'objet de nouvelles tentatives jusqu'à ce que l'incident soit résolu.
La configuration (1) protège le bean géré par message de tout message d'incident occasionnel qui empêche le traitement des messages suivants. Toutefois, en cas d'incident prolongé avec une ressource dont dépend l'application d'entreprise ou l'application de niveau métier, une base de données par exemple, tous les messages envoyés à la destination peuvent être transférés vers la destination d'exception.
La configuration (2) bloque la distribution des messages jusqu'à ce que l'incident d'origine du message défectueux soit résolu. Cette configuration empêche le transfert inutile des messages vers une destination d'exception, mais elle bloque également les messages suivants dès qu'un message d'incident ne peut pas être traité.
Vous pouvez configurer la spécification d'activation d'un bean géré par message de sorte que le noeud final de ce dernier soit arrêté automatiquement lorsqu'un nombre d'incidents est détecté avec les messages séquentiels. Ces incidents indiquent un problème avec une ressource dépendante. Lorsque l'incident est résolu, le noeud final du bean géré par message est redémarré manuellement. Cette configuration tolère les incidents de message occasionnels, ce qui permet le transfert de messages d'incident individuels vers la destination d'exception sans bloquer l'intégralité du bean géré par message.
La procédure ci-après permet de protéger une application d'entreprise des incidents de ressource système externe dépendants.