Package oracle.tmm.tcc
Class TccClient
java.lang.Object
oracle.tmm.tcc.TccClient
TccTransaction - Helper class to execute current tcc transactions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
addTccParticipant
(String uri) Add a participant to the current TCC transactionstatic CancelResponse
cancel()
Cancel the TCC transactionstatic CancelResponse
cancel
(List<TccParticipant> participants) Cancel the TCC transaction optionally adding additional participantsstatic ConfirmResponse
confirm()
Confirm the TCC transactionstatic ConfirmResponse
confirm
(List<TccParticipant> participants) Confirm the TCC transaction optionally adding additional participantsstatic long
Get the time limit in milliseconds for the current TCC transaction This value overrides the value set via @TCC annotationstatic String
Get the current transaction idstatic void
setTimeLimit
(long timeLimit) Set the time limit in milliseconds for the current transaction.
-
Constructor Details
-
TccClient
public TccClient()
-
-
Method Details
-
confirm
public static ConfirmResponse confirm() throws TccUnknownTransactionException, TccHeuristicException, TccExceptionConfirm the TCC transactionThis asks the transaction coordinator to confirm all the participants in the transaction.
- Returns:
- returns the list of participants with their updated state
- Throws:
TccException
- some failure occurred communicating with the transaction coordinatorTccUnknownTransactionException
- transaction not found or unknown error at coordinator sideTccHeuristicException
- not all the participants confirmed
-
confirm
public static ConfirmResponse confirm(List<TccParticipant> participants) throws TccUnknownTransactionException, TccHeuristicException, TccException Confirm the TCC transaction optionally adding additional participantsThis asks the transaction coordinator to confirm all the participants in the transaction including those added by this call.
- Parameters:
participants
- list of TccParticipants to be included in the confirmation of the transaction- Returns:
- returns the list of participants with their updated state
- Throws:
TccException
- some failure occurred communicating with the transaction coordinatorTccUnknownTransactionException
- transaction not found or unknown error at coordinator sideTccHeuristicException
- not all the participants confirmed
-
cancel
public static CancelResponse cancel() throws TccUnknownTransactionException, TccHeuristicException, TccExceptionCancel the TCC transactionThis asks the transaction coordinator to cancel all the participants.
- Returns:
- CancelResponse includes participants and transaction status
- Throws:
TccException
- some failure occurred communicating with the transaction coordinatorTccUnknownTransactionException
- transaction not found or unknown error at coordinator sideTccHeuristicException
- not all the participants cancelled
-
cancel
public static CancelResponse cancel(List<TccParticipant> participants) throws TccUnknownTransactionException, TccHeuristicException, TccException Cancel the TCC transaction optionally adding additional participantsThis asks the transaction coordinator to cancel all the participants in the transaction including those added by this call.
- Parameters:
participants
- optional list of TccParticipants to be included in the cancelling of the transaction- Returns:
- CancelResponse includes participants and transaction status
- Throws:
TccException
- some failure occurred communicating with the transaction coordinatorTccUnknownTransactionException
- transaction not found or unknown error at coordinator sideTccHeuristicException
- not all the participants cancelled
-
getTransactionId
Get the current transaction id- Returns:
- transaction id
- Throws:
TccUnknownTransactionException
- TCC transaction is associated to the current thread
-
addTccParticipant
Add a participant to the current TCC transaction- Parameters:
uri
- the URI of the participant resource- Throws:
TccUnknownTransactionException
- TCC transaction is associated to the current thread
-
setTimeLimit
Set the time limit in milliseconds for the current transaction. This will override the time limit set using @TCC annotation- Parameters:
timeLimit
- time limit in milliseconds- Throws:
TccUnknownTransactionException
- TCC transaction is associated to the current thread
-
getTimeLimit
Get the time limit in milliseconds for the current TCC transaction This value overrides the value set via @TCC annotation- Returns:
- time limit in milliseconds for the current TCC transaction
- Throws:
TccUnknownTransactionException
- TCC transaction is associated to the current thread
-