===== 7.3 Transaction Duration ===== A transaction always ends when the Java Card RE regains programmatic control upon return from the applet's **select**, **deselect**, **process**, **uninstall**, or **install** methods. This is true whether a transaction ends normally, with an applet's call to **commitTransaction**, or with an abortion of the transaction (either programmatically by the applet, or by default by the Java Card RE). For more details on transaction abortion, refer to [[7.6_Aborting a Transaction| Section 7.6, Aborting a Transaction]]. **//Transaction duration//** is the life of a transaction between the call to **JCSystem.beginTransaction** and either a call to **commitTransaction** or an abortion of the transaction.