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 TypeMethodDescriptionvoid
addParticipant
(String uri) void
addTccParticipant
(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) long
long
Get the time limit in milliseconds for the current TCC transaction This value overrides the value set via @TCC annotationGet the current transaction idvoid
setTccTimeLimit
(long timeLimit) void
setTimeLimit
(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:
confirm
in 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:
cancel
in 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:
confirmTccWithOptionalParticipants
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
TccHeuristicException
TccException
-
cancelTccWithOptionalParticipant
public CancelResponse cancelTccWithOptionalParticipant(List<TccParticipant> participants) throws TccUnknownTransactionException, TccHeuristicException, TccException - Specified by:
cancelTccWithOptionalParticipant
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
TccHeuristicException
TccException
-
setTccTimeLimit
- Specified by:
setTccTimeLimit
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
-
getTccTimeLimit
- Specified by:
getTccTimeLimit
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
-
addParticipant
- Specified by:
addParticipant
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
-
getTccTransactionId
- Specified by:
getTccTransactionId
in interfacecom.oracle.microtx.tcc.TccClient
- Throws:
TccUnknownTransactionException
-