Mysql
 sql >> Database >  >> RDS >> Mysql

Come funziona la sospensione delle transazioni in primavera?

Lo scopo della sospensione di una transazione consiste nel modificare la transazione corrente per un thread in una nuova. Ciò NON si allineerebbe con la semantica delle transazioni nidificate perché le transazioni nuove e sospese sono completamente indipendenti l'una dall'altra. Non esiste un'API a livello di connessione per supportare la sospensione delle transazioni, quindi questa operazione deve essere eseguita utilizzando una connessione diversa. Se stai usando JTA con Spring, questo viene fatto dal gestore delle transazioni JTA. Se stai utilizzando DataSourceTransactionManager, puoi guardare nel codice e vedere che salverà la connessione corrente come "risorsa sospesa" e acquisirà una nuova connessione dall'origine dati per la nuova transazione.