-
public interface Transaction
The Transaction interface allows operations to be performed against the transaction in the target Transaction object. A Transaction object is created corresponding to each global transaction creation. The Transaction object can be used for resource enlistment, synchronization registration, transaction completion, and status query operations.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description void
commit()
Complete the transaction represented by this Transaction object.boolean
delistResource(XAResource xaRes, int flag)
Disassociate the resource specified from the transaction associated with the target Transaction object.boolean
enlistResource(XAResource xaRes)
Enlist the resource specified with the transaction associated with the target Transaction object.int
getStatus()
Obtain the status of the transaction associated with the target Transaction object.void
registerSynchronization(Synchronization sync)
Register a synchronization object for the transaction currently associated with the target object.void
rollback()
Rollback the transaction represented by this Transaction object.void
setRollbackOnly()
Modify the transaction associated with the target object such that the only possible outcome of the transaction is to roll back the transaction.
-
-
-
Method Detail
-
commit
void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException
Complete the transaction represented by this Transaction object.- Throws:
RollbackException
- Thrown to indicate that the transaction has been rolled back rather than committed.HeuristicMixedException
- Thrown to indicate that a heuristic decision was made and that some relevant updates have been committed while others have been rolled back.HeuristicRollbackException
- Thrown to indicate that a heuristic decision was made and that all relevant updates have been rolled back.SecurityException
- Thrown to indicate that the thread is not allowed to commit the transaction.IllegalStateException
- Thrown if the transaction in the target object is inactive.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
delistResource
boolean delistResource(XAResource xaRes, int flag) throws IllegalStateException, SystemException
Disassociate the resource specified from the transaction associated with the target Transaction object.- Parameters:
xaRes
- The XAResource object associated with the resource (connection).flag
- One of the values of TMSUCCESS, TMSUSPEND, or TMFAIL.- Returns:
- true if the resource was delisted successfully; otherwise false.
- Throws:
IllegalStateException
- Thrown if the transaction in the target object is inactive.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
enlistResource
boolean enlistResource(XAResource xaRes) throws RollbackException, IllegalStateException, SystemException
Enlist the resource specified with the transaction associated with the target Transaction object.- Parameters:
xaRes
- The XAResource object associated with the resource (connection).- Returns:
- true if the resource was enlisted successfully; otherwise false.
- Throws:
RollbackException
- Thrown to indicate that the transaction has been marked for rollback only.IllegalStateException
- Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
getStatus
int getStatus() throws SystemException
Obtain the status of the transaction associated with the target Transaction object.- Returns:
- The transaction status. If no transaction is associated with the target object, this method returns the Status.NoTransaction value.
- Throws:
SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
registerSynchronization
void registerSynchronization(Synchronization sync) throws RollbackException, IllegalStateException, SystemException
Register a synchronization object for the transaction currently associated with the target object. The transction manager invokes the beforeCompletion method prior to starting the two-phase transaction commit process. After the transaction is completed, the transaction manager invokes the afterCompletion method.- Parameters:
sync
- The Synchronization object for the transaction associated with the target object.- Throws:
RollbackException
- Thrown to indicate that the transaction has been marked for rollback only.IllegalStateException
- Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
rollback
void rollback() throws IllegalStateException, SystemException
Rollback the transaction represented by this Transaction object.- Throws:
IllegalStateException
- Thrown if the transaction in the target object is in the prepared state or the transaction is inactive.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
setRollbackOnly
void setRollbackOnly() throws IllegalStateException, SystemException
Modify the transaction associated with the target object such that the only possible outcome of the transaction is to roll back the transaction.- Throws:
IllegalStateException
- Thrown if the target object is not associated with any transaction.SystemException
- Thrown if the transaction manager encounters an unexpected error condition.
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
22/08/2025 05:27:47 Cette version de la page est en cache (à la date du 22/08/2025 05:27:47) afin d'accélérer le traitement.Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la version plus récente de la page.
Document créé le 24/12/2007, dernière modification le 18/08/2025
Source du document imprimé : https://www.gaudry.be/java-api-javaee-rf-javax/transaction/Transaction.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.