@TransactionAttribute

Mit der Annotation @TransactionAttribut wird gesteuert, wie eine Methode eines Beans (siehe Bean) von der Transaktionssicherung des Application Servers behandelt werden soll.

@TransactionAttribute(TransactionAttributeType.REQUIRED)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird diese Transaktion auch für die Ausführung der Methode verwendet. Anderenfalls wird für die Ausführung der Methode eine neue Transaktion erzeugt.

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird diese Transaktion unterbrochen. Auf jeden Fall wird für die Ausführung der Methode eine neue Transaktion erzeugt. Nach der Ausführung wird die neue Transaktion beendet und die alte Transaktion fortgesetzt.

@TransactionAttribute(TransactionAttributeType.MANDATORY)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird diese Transaktion auch für die Ausführung der Methode verwendet. Anderenfalls wird die Ausnahme TransactionRequiredException ausgelöst.

@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird diese Transaktion unterbrochen. Die Methode wird ohne Transaktion ausgeführt. Nach der Ausführung wird ggf. die unterbrochene Transaktion fortgesetzt.

@TransactionAttribute(TransactionAttributeType.SUPPORTS)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird diese Transaktion auch für die Ausführung der Methode verwendet. Anderenfalls wird die Methode ohne Transaktion ausgeführt.

@TransactionAttribute(TransactionAttributeType.NEVER)
-- Wenn die Methode aus einem Kontext mit einer Transaktion aufgerufen wird, dann wird eine Ausnahme ausgelöst.