BYOT (Bring Your Own Transaction)
BYOT permet de créer un composant avec ou d’hériter d’une transaction externe. Autrement dit, un composant qui n’a pas encore de transaction associée peut acquérir une transaction. Actuellement, les transactions MTS sont automatiques; si un composant instance réside dans une transaction est déterminé au moment de la création. Les attributs transactionnels d’un composant et de son créateur déterminent quelle transaction est associée à un instance donné. Dans tous les cas, MTS contrôle la durée de vie des transactions. COM+ étend ce paramètre pour permettre de définir une transaction DTC ou TIP préexistante arbitraire en tant que propriété de transaction du contexte d’un nouveau composant. Cela permet aux composants configurés d’être associés à des transactions dont la durée de vie est contrôlée par un moniteur TP, OTS ou SGBD.
Notes
Les transactions BYOT doivent être utilisées avec précaution. Dans certaines situations, elles peuvent entraîner une transaction couvrant plusieurs domaines de synchronisation, c’est-à-dire qu’elles autorisent le parallélisme avec une transaction, provoquant une condition d’interblocage. Les transactions automatiques, plutôt que les transactions BYOT, sont le modèle de programmation préféré pour les rédacteurs de composants métier.
Les interfaces pour les transactions BYOT incluent l’interface ICreateWithTransactionEx et l’interface ICreateWithTipTransactionEx . L’interface ICreateWithTransactionEx crée un objet inscrit dans une transaction manuelle. L’interface ICreateWithTipTransactionEx crée un objet inscrit dans une transaction manuelle à l’aide du protocole TIP (Transaction Internet Protocol).
Rubriques connexes