Coordination de l'accès aux ressources de validation à une phase et à deux phases dans la même transaction

Celui-ci permet d'utiliser une seule ressource de validation à une phase avec n'importe quel nombre de ressources de validation à deux phases dans la même transaction globale. Plusieurs interactions peuvent impliquer la ressource de validation en une phase dans la même transaction, mais une seule ressource de ce type peut être impliquée.

Lors de la validation de la transaction, les ressources de validation à deux phases sont d'abord préparées à l'aide du protocole de validation à deux phases, puis, en cas de succès, la ressource de validation à une phase est appelée pour validation. Les ressources de validation à deux phases sont alors validées ou annulées selon la réaction de la ressource de validation à une phase.

Remarque : Si la transaction globale est distribuée sur plusieurs serveurs d'applications qui exécutent tous WebSphere Application Server version 6.1 ou ultérieure, vous pouvez utiliser le support du dernier participant pour coordonner une ressource à validation en une et deux phases d'une même transaction dans un nombre limité de ressources.
  • Dans le scénario principal, le processus serveur d'applications (serveur "racine de transaction"), dans lequel la transaction démarre, accède au fournisseur de ressources de validation à une phase.

    Dans ce scénario, le support du dernier participant peut coordonner une ressource de validation à une phase et un certain nombre de ressources de validation à deux phases dans la même transaction.

  • Si le fournisseur de ressources de validation à une phase est contacté à partir d'un serveur d'applications (un serveur "secondaire de transactions") différent de celui qui a lancé la transaction ; exemple : par suite d'un appel transactionnel sur une interface EJB distante où l'implémentation EJB accède à un fournisseur de ressources de validation à une phase.

    Dans ce scénario, la transaction ne peut être validée. Pour pouvoir valider (dans le cadre d'une transaction globale) une ressource de validation à une phase figurant sur un serveur secondaire de transactions, le service de transactions doit déléguer la responsabilité de la coordination du serveur racine de transaction au serveur secondaire. Ceci ne se produit que si aucune autre ressource n'a été enregistré auprès du serveur racine de transaction.

Le support du dernier participant augmente le risque de sortie heuristique dans la transaction. En fait, le gestionnaire de transactions ne peut pas être certain que les ressources ont toutes été soit terminées, soit validées. Pour cette raison, afin qu'une application puisse coordonner l'accès aux ressources à validation en une et deux phases dans une même transaction, vous devez configurer l'application de sorte qu'elle accepte le risque accru de sortie heuristique.

Une sortie heuristique survient si le service des transactions (JTS) ne reçoit aucune réponse du flux de validations à une phase sur la ressource à une phase. Dans ce cas, le service de transactions ne peut pas déterminer si les modifications apportées à la ressource à une phase ont été validées ou annulées et ne peut donc pas piloter de manière fiable la sortie correcte de la transaction globale sur les autres ressources à deux phases.

Vous pouvez configurer le service de transaction d'un serveur d'applications de manière à accepter le danger heuristique, ou configurer les applications individuellement pour accepter les risques heuristiques. Vous pouvez configurer les applications individuellement lorsqu'elles sont assemblées ou après leur déploiement.

Vous pouvez configurer le service de transactions d'un serveur d'applications pour indiquer si le fait qu'il est sur le point de valider la ressource à une phase doit être consigné. Cela ne réduit pas le risque heuristique, mais garantit qu'en cas d'erreur et reprise ultérieure du serveur d'applications lors de la validation à une phase l'utilisateur sait si la ressource à une phase a reçu un ordre de validation :
  • Si la ressource à validation en une phase a reçu un ordre de validation, une sortie heuristique est enregistrée dans le journal des activités.
  • Si la ressource à validation en une phase n'a pas reçu d'ordre de validation, la transaction est annulée de manière cohérente.

Exceptions de transaction impliquant des ressources de validation à une et deux phases

Les exceptions pouvant être générées par des transactions faisant appel à des ressources de validation à une et deux phases sont les mêmes que celles qui peuvent être générées par des transactions ne faisant appel qu'à des ressources de validation à deux phases.

Les exceptions pouvant se produire sont répertoriées dans les informations de référence de l'API qui se trouvent dans le centre de documentation WebSphere Application Server.


Icône indiquant le type de rubrique Rubrique de concept



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=cla_ovrvw
Nom du fichier : cla_ovrvw.html