Transacciones En Java

De Dos Ideas.
Revisión del 14:09 18 feb 2010 de 201.251.185.130 (discusión) (Ver también)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

El API para manejo de transacciones en Java se conoce como JTA (Java Transaction API). JTA permite iniciar y hacer commit o rollback de transacciones. Usualmente no se utiliza JTA directamente, sino a través de otros frameworks y utilidades.

Propagación de transacciones

¿Qué ocurre si un método transaccional A invoca a otro método transaccional B? Aquí entra en juego la propagación de transacciones. Por default, las transacciones tienen propagación REQUIRED. En este tipo de propagación, el método invocado B participa de la transacción existente (iniciada por A). Además, si en otro momento invocamos al método B fuera de una transacción, este inicia una nueva.

Los tipos de propagación existentes son:

  • MANDATORY : Participa de la transacción. Tira una excepción si no existe.
  • NEVER : Se ejecuta sin transacción. Tira una excepción si existe una.
  • NOT_SUPPORTED : Se ejecuta sin transacción. Suspende la transacción si existe una.
  • REQUIRED : Participa de la transacción. Crea una nueva si no existe.
  • REQUIRES_NEW : Crea una nueva transacción siempre. Suspende la transacción actual si existe.
  • SUPPORTS : Participa de la transacción si existe. Se ejecuta sin transacción si no existe.


Ver también