Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como funciona a suspensão de transações no Spring?


O objetivo de suspender uma transação é alterar a transação atual de um encadeamento para uma nova. Isso NÃO se alinharia com a semântica das transações aninhadas porque as transações novas e suspensas são completamente independentes umas das outras. Não há API no nível de conexão para oferecer suporte à suspensão de transações, portanto, isso deve ser feito usando uma conexão diferente. Se você estiver usando JTA com Spring, isso é feito pelo gerenciador de transações JTA. Se você estiver usando DataSourceTransactionManager, poderá examinar o código e ver que ele salvará a conexão atual como um "recurso suspenso" e obterá uma nova conexão da fonte de dados para a nova transação.