Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment fonctionne la suspension des transactions au printemps ?

Le but de la suspension d'une transaction est de changer la transaction en cours pour un thread en une nouvelle. Cela ne correspondrait PAS à la sémantique des transactions imbriquées car les transactions nouvelles et suspendues sont complètement indépendantes les unes des autres. Il n'y a pas d'API au niveau de la connexion pour prendre en charge la suspension des transactions, cela doit donc être fait en utilisant une connexion différente. Si vous utilisez JTA avec Spring, cela est fait par le gestionnaire de transactions JTA. Si vous utilisez DataSourceTransactionManager, vous pouvez regarder dans le code et voir qu'il enregistrera la connexion actuelle en tant que "ressource suspendue" et saisira une nouvelle connexion à partir de la source de données pour la nouvelle transaction.