WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Gestion d'événements ayant échoué

Le service de reprise WebSphere Process Server capture des données sur les événements ayant échoué. Vous pouvez maintenant localiser, modifier, soumettre à nouveau ou supprimer les événements ayant échoué via le gestionnaire des événements ayant échoué.

Le service de reprise WebSphere Process Server gère les opérations ayant échoué entre les composants de l'architecture SCA (Service Component Architecture) et les événements JMS ayant échoué.

Evénements SCA ayant échoué

Dans un contexte SCA, un événement est une demande ou une réponse reçue par une application de service. Il peut provenir d'une source externe (comme un adaptateur d'applications en entrée) ou d'un appel externe à un service Web. L'événement se compose d'une référence de la logique métier qu'il souhaite mettre en oeuvre et de ses données stockées dans un Service Data Object (un objet métier). Lorsqu'un élément est reçu, il est traité par la logique applicative appropriée.

Une seule unité d'exécution peut se transformer en plusieurs branches (ou unités d'exécution) ; chaque branche est reliée au principal événement appelé par le même contexte de session.

Si cette logique métier de l'une de ces branches ne peut pas s'exécuter complètement à la suite d'une panne du système ou d'un composant, ou de l'indisponibilité d'un composant, l'état de l'événement passe à échoué. En cas d'échec de plusieurs branches, un événement ayant échoué est créé pour chacune d'elles. Le service de reprise gère les types suivants d'événements SCA ayant échoué :
  • Les échecs d'événement survenant lors d'un appel asynchrone d'une opération SCA.
  • Les échecs d'événement provoqués par une exception d'exécution (en d'autres termes, toute exception non déclarée dans les méthodes utilisées par la logique métier)
Le service de reprise ne gère pas les échecs provenant d'appels synchrones.
Les événements ayant échoué sont généralement associés à des informations sur la source et la destination. La source et la destination sont basées sur le point d'échec (emplacement où l'appel échoue), quel que soit le type d'interaction. Prenons l'exemple suivant dans lequel un composant A appelle de manière asynchrone le composant B. Le message de requête est envoyé de A vers B et la réponse (rappel) de B vers A.
  • Si l'exception se produit au cours de la requête initiale, le composant A est la source et le composant B, la destination, en ce qui concerne le gestionnaire des événements ayant échoué.
  • Si l'exception se produit du cours de la réponse, le composant B est la source et le composant A, la destination, en ce qui concerne le gestionnaire des événements ayant échoué.
Ceci s'applique pour tous les appels asynchrones.

Le service de reprise envoie les interactions asynchrones SCA ayant échoué aux destinations d'événements ayant échoué qui ont été créées sur le bus système SCA (SCA.SYSTEM.nom_cellule.Bus). Les données d'événements ayant échoué sont stockées dans la base de données des événements ayant échoué (par défaut, WPCRSDB) et deviennent disponibles pour les tâches d'administration dans l'interface gestionnaire des événements ayant échoué.

Evénements JMS ayant échoué

Le type de liaison et la configuration Java Message Service (JMS) déterminent si un événement ayant échoué est généré et envoyé au gestionnaire d'événements ayant échoué.

Liaisons JMS

WebSphere Integration Developer fournit une propriété de liaison de reprise qui vous permet d'activer ou de désactiver la reprise pour chaque liaison JMS, au moment de la création. Vous pouvez définir la propriété recoveryMode sur l'une des valeurs suivantes :
bindingManaged Permet à la liaison de gérer la reprise des messages ayant échoué
unmanaged S'appuie sur une reprise propre au transport pour les messages ayant échoué
La reprise pour les liaisons JMS est activée par défaut. Lorsque cette fonction est activée, des événements JMS ayant échoué sont créés dans les cas suivants :
  • le sélecteur de fonction échoue ;
  • le sélecteur d'erreurs échoue ;
  • le sélecteur d'erreurs renvoie le type d'erreur RuntimeException ;
  • le gestionnaire d'erreurs échoue ;
  • la liaison de données ou le gestionnaire de données échoue après une seule nouvelle tentative dans JMS.
En outre, un événement SCA (Service Component Architecture) ayant échoué est créé lorsque l'exception ServiceRuntimeException est émise dans un composant cible de la liaison JMS après une seule nouvelle tentative dans JMS.
Ces échecs peuvent se produire lors d'une communication sortante ou entrante. Lors d'une communication sortante, JMSImport envoie un message de demande et reçoit le message de réponse ; un événement ayant échoué est généré si la liaison d'importation JMS détecte un problème lors du traitement de la réponse du service. Lors d'une communication entrante, la séquence d'événements est la suivante :
  1. JMSExport reçoit le message de requête.
  2. JMSExport appelle le composant SCA.
  3. Le composant SCA renvoie une réponse à JMSExport.
  4. JMSExport envoie un message de réponse.
Un événement ayant échoué est généré si la liaison d'exportation JMS détecte un problème lors du traitement de la demande de service.

Le service de reprise capture le message JMS et le stocke dans une table de reprise dans la base de données commune. En outre, il capture et stocke le nom du module, le nom du composant, le nom de l'opération, l'heure d'échec, les détails de l'exception et les propriétés JMS de l'événement ayant échoué. Pour gérer les événements JMS ayant échoué, vous pouvez utiliser le gestionnaire des événements ayant échoué ou vous pouvez utiliser un programme personnalisé.

Vous ne pouvez désactiver la reprise que de façon explicite dans WebSphere Integration Developer en définissant la propriété recoveryMode sur unmanaged.
Remarque : En l'absence de la propriété recoveryMode (pour les applications de versions antérieures), la capacité de reprise est considérée comme activée.
Lorsque la reprise est désactivée, le message ayant échoué est annulé pour revenir à sa destination d'origine, puis est réessayé. Le système ne crée pas d'événement ayant échoué.

Liaisons JMS WebSphere MQ et liaisons JMS génériques

Les liaisons JMS WebSphere MQ et les liaisons JMS génériques ne traitent pas les échecs de la même manière que les liaisons JMS. Les problèmes survenant lors du traitement des demandes et des réponses ne génèrent pas d'événement JMS ayant échoué. Ils génèrent un événement SCA ayant échoué si les deux conditions suivantes sont remplies :
  • Le système de messagerie sous-jacent est configuré pour relivrer automatiquement un message ayant échoué.
  • L'échec se produit dans le composant SCA cible de la liaison d'exportation, et non dans la liaison elle-même.
Lorsque ces deux conditions sont vraies, le système de reprise génère un événement SCA ayant échoué que vous pouvez gérer dans le gestionnaire d'événements ayant échoué.

Dans toutes les autres situations, le message ayant échoué est annulé pour revenir à sa destination d'origine, où il est traité selon la configuration du système de messagerie. Aucun événement ayant échoué n'est créé.

Comment les événements ayant échoué sont-ils gérés ?

Un administrateur utilise le gestionnaire des événements ayant échoué pour les parcourir et les gérer. Parmi les tâches courantes de gestion des événements ayant échoué, figurent :
  • La localisation de tous les événements ayant échoué
  • La recherche des événements ayant échoué d'après des critères spécifiques
  • L'édition de données d'un événement ayant échoué
  • La nouvelle soumission des événements ayant échoué
  • La suppression des événements ayant échoué

Pour accéder au gestionnaire des événements ayant échoué, cliquez sur Applications d'intégration > Gestionnaire des événements ayant échoué.


concept Rubrique concept

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/recovery/cadm_failedoverview.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).