Cos'è "TM" in Java TM? Transaction Manager (JTA)
In Java EE / Jakarta EE, TM = Transaction Manager — il componente centrale della Java Transaction API (JTA).
Cosa fa
- Coordina transazioni distribuite su più risorse (database, code JMS, connettori JCA).
- Applica le proprietà ACID: Atomicità, Coerenza, Isolamento, Durabilità.
- Gestisce il ciclo di vita della transazione:
begin(),commit(),rollback(). - Esegue il two-phase commit (2PC) per risorse XA.
- Fornisce demarcazione thread-safe — il tuo codice chiama
UserTransaction; il TM gestisce blocchi, log, recupero.
Interfacce chiave
javax.transaction.TransactionManager— l'application server usa questo (sospendi/riprendi, arruola).javax.transaction.UserTransaction— il tuo codice usa questo (inizia/commit/annulla).
Dove viene eseguito
- Application server: WildFly, GlassFish, Payara, WebLogic, WebSphere, TomEE.
- Standalone: Narayana, Bitronix, Atomikos (per Spring Boot, Tomcat, Java SE).
Perché è importante
Senza TM, dovresti coordinare manualmente i commit tra database — soggetto a errori e non sicuro. Il TM garantisce il tutto-o-niente anche tra sistemi eterogenei.