Partager via


Limites des transactions

Une limite de transaction définit la portée d'une transaction. Les objets situés à l'intérieur d'une limite de transaction ont un identificateur de transaction commun.

Lorsqu'une transaction s'exécute, de nombreuses ressources liées aux transactions peuvent participer à la transaction. Par exemple, si votre application se connecte à une base de données dans le cadre d'une transaction, la transaction passe à cette ressource et repousse sa limite pour inclure le serveur de base de données. Vous pouvez concevoir des transactions qui englobent plusieurs processus et ordinateurs. Par conséquent, une limite de transaction est une notion abstraite qui permet de gérer la cohérence au-delà des limites des processus et des ordinateurs.

Le niveau de contrôle dont vous disposez sur une limite de transaction varie en fonction du modèle de transaction que vous avez sélectionné pour votre application : manuel ou automatique. Vous contrôlez les limites d'une transaction manuelle à l'aide d'instructions explicites de début et de fin de transaction. Au sein des limites d'une transaction, vous pouvez commencer une seconde transaction dite imbriquée. La transaction parent n'est validée qu'une fois toutes les transactions subordonnées validées.

Une transaction automatique gère les limites de transaction à votre place en se basant sur un attribut déclaratif défini pour chaque composant. Elle passe automatiquement aux objets qui ont reçu l'instruction de participer à une transaction et ignore les objets ayant reçu l'instruction de s'exécuter en dehors d'une transaction. Vous ne pouvez pas imbriquer des transactions si vous utilisez le modèle de transaction automatique.

Voir aussi

Notions de base du traitement des transactions | Modèles de transactions