Gestionnaire de transactions

Définition - Que signifie Transaction Manager?

Un gestionnaire de transactions fait partie d'une application qui contrôle la coordination des transactions sur une ou plusieurs ressources. Le gestionnaire de transactions est responsable de la création des objets de transaction et de la gestion de leur durabilité et de leur atomicité. Les gestionnaires de transactions gardent une trace de tous les gestionnaires de ressources qui sont enrôlés dans une transaction.

Definir Tech explique Transaction Manager

Lorsqu'on leur demande de valider une transaction, les gestionnaires de transactions lancent le protocole de validation en deux phases. Dans la première phase, ils demandent à tous les gestionnaires de ressources enrôlés de se préparer. Dans la deuxième phase, les gestionnaires de transactions notifient aux gestionnaires de ressources si la transaction est annulée ou validée.

Un gestionnaire de transactions conserve un journal en mémoire. Ce journal est généralement un fichier séquentiel, utilisé pour enregistrer les événements de transaction. Les gestionnaires de transactions utilisent ce journal pour enregistrer les démarrages de transaction, les décisions de validation, les inscriptions, etc. Au moment du traitement normal, les gestionnaires de transactions écrivent simplement dans le journal, mais s'ils échouent, ils lisent le journal dès qu'il redémarre pour restaurer le dernier Etat.

Les gestionnaires de transactions ont souvent les responsabilités suivantes:

  • Démarcation: Début et fin des transactions au moyen des méthodes begin, commit et rollback.
  • Contrôle du contexte de transaction: les contextes de transaction contiennent toutes les informations qui aident un gestionnaire de transactions à surveiller une transaction. Les gestionnaires de transactions sont chargés de créer des contextes de transaction et de les connecter au thread existant.
  • Coordination de la transaction: Les gestionnaires de transaction ont généralement la capacité d'harmoniser une transaction sur diverses ressources. Cette fonctionnalité requiert le protocole de validation en deux phases. Le protocole XA est également utilisé pour enregistrer et gérer les ressources.
  • Récupération après une panne: les gestionnaires de transactions sont responsables de garantir que les ressources ne sont pas conservées dans un état incohérent en cas de panne du système ou de l'application.