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

Cette tâche suppose que vous avez déployé une application d'entreprise contenant un bean géré par message (MDB) qui interagit avec des ressources système externes.

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.

Pour exécuter cette tâche, vous avez besoin des informations suivantes :
  • 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

Si un bean géré par message ne parvient pas à traiter un message, le message est annulé et est de nouveau disponible pour le bean géré par message. Généralement, le système de messagerie est configuré de l'une des manières suivantes :
  1. 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.
  2. 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.

Procédure

  1. Accédez à l'application d'entreprise déployée qui contient le bean géré par message.
  2. A partir du bean géré par message, accédez à sa spécification d'activation JMS. Cliquez sur Ressources -> JMS->Spécifications d'activation -> nom_spécification_activation.
  3. Entrez une valeur pour Seuil d'échecs de messages séquentiels et Fréquence entre deux échecs de message.
  4. Enregistrez la configuration.
  5. Accédez à la destination sur laquelle le bean géré par message est en mode écoute. Cliquez sur l'un des chemins suivants, comme approprié :
    • Intégration des services -> Bus -> nom_bus -> [Ressources de la destination] Destinations -> nom_file_attente
    • Intégration des services -> Bus -> nom_bus -> [Ressources de la destination] Destinations -> nom_espace_sujet
  6. Entrez une valeur pour l'option Nombre maximal de remises par message.
  7. Sauvegardez les modifications de la configuration principale.

Résultats

Vous avez configuré l'application d'entreprise, ou l'application métier, pour qu'elle se protège des types d'incident de ressource externe qui peuvent se produire à tout moment. Cela signifie qu'en cas d'incident de ressource système, le bean géré par message est arrêté automatiquement lorsque le Seuil d'échecs de messages séquentiels est atteint pour un message.

Que faire ensuite

Lorsque la ressource système qui a échoué devient disponible, vous pouvez redémarrer la ressource système et reprendre le bean géré par message. Les messages qui ont échoué lors de l'arrêt de la ressource système sont renvoyés au lieu de rester dans une destination d'exception.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjn_mdb_0001
Nom du fichier : tjn_mdb_0001.html