Transaktion

Eine Transaktion ist eine Einheit von Operationen, die ganz oder gar nicht wirken (Atomarität).

In Jakarta EE meistens von CMT verwaltet.

I. ACID


Buchstabe Bedeutung
Atomicity Alles oder nichts
Consistency DB bleibt in gültigem Zustand
Isolation Parallele TX stören sich nicht
Durability Committet = dauerhaft

II. In Jakarta EE


III. Manuell mit BMT


@TransactionManagement(TransactionManagementType.BEAN)
public class FooService {
    @Resource UserTransaction tx;

    public void doIt() throws Exception {
        tx.begin();
        try {
            // ...
            tx.commit();
        } catch (Exception e) {
            tx.rollback();
        }
    }
}
.NET-Vergleich

Ähnlich TransactionScope mit using-Block.