Package oracle.tmm.tcc
Class TccClientService
java.lang.Object
oracle.tmm.tcc.TccClientService
- All Implemented Interfaces:
com.oracle.microtx.tcc.TccClient
@RequestScoped
public class TccClientService
extends Object
implements com.oracle.microtx.tcc.TccClient
TccTransaction - Helper class to execute current tcc transactions
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddParticipant(String uri) voidaddTccParticipant(String uri) Add a participant to the current TCC transactioncancel()Cancel the TCC transactioncancel(List<TccParticipant> participants) Cancel the TCC transaction optionally adding additional participantscancelTccWithOptionalParticipant(List<TccParticipant> participants) confirm()Confirm the TCC transactionconfirm(List<TccParticipant> participants) Confirm the TCC transaction optionally adding additional participantsconfirmTccWithOptionalParticipants(List<TccParticipant> participants) longlongGet the time limit in milliseconds for the current TCC transaction This value overrides the value set via @TCC annotationGet the current transaction idvoidsetTccTimeLimit(long timeLimit) voidsetTimeLimit(long timeLimit) Set the time limit in milliseconds for the current transaction.
-
Constructor Details
-
TccClientService
public TccClientService()
-
-
Method Details
-
confirm
public ConfirmResponse confirm() throws TccUnknownTransactionException, TccHeuristicException, TccExceptionConfirm the TCC transactionThis asks the transaction coordinator to confirm all the participants in the transaction.
- Specified by:
confirmin interfacecom.oracle.microtx.tcc.TccClient- 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 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 CancelResponse cancel() throws TccUnknownTransactionException, TccHeuristicException, TccExceptionCancel the TCC transactionThis asks the transaction coordinator to cancel all the participants.
- Specified by:
cancelin interfacecom.oracle.microtx.tcc.TccClient- 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 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
-
confirmTccWithOptionalParticipants
public ConfirmResponse confirmTccWithOptionalParticipants(List<TccParticipant> participants) throws TccUnknownTransactionException, TccHeuristicException, TccException - Specified by:
confirmTccWithOptionalParticipantsin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionExceptionTccHeuristicExceptionTccException
-
cancelTccWithOptionalParticipant
public CancelResponse cancelTccWithOptionalParticipant(List<TccParticipant> participants) throws TccUnknownTransactionException, TccHeuristicException, TccException - Specified by:
cancelTccWithOptionalParticipantin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionExceptionTccHeuristicExceptionTccException
-
setTccTimeLimit
- Specified by:
setTccTimeLimitin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionException
-
getTccTimeLimit
- Specified by:
getTccTimeLimitin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionException
-
addParticipant
- Specified by:
addParticipantin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionException
-
getTccTransactionId
- Specified by:
getTccTransactionIdin interfacecom.oracle.microtx.tcc.TccClient- Throws:
TccUnknownTransactionException
-