public class TxnMgrProxy extends Object implements ExtendedTransactionManager, Administrable, SmartExternalizable, ReferentUuid, MarshalPivotProvider
TxnMgrProxy
is a proxy for the transaction manager service. This is the object
passed to clients of this service. It implements the TransactionManager
and the
Administrable
interfaces.TransactionManager.Created
Modifier and Type | Field and Description |
---|---|
Uuid |
proxyID
The proxy's
Uuid |
ABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING
Constructor and Description |
---|
TxnMgrProxy() |
Modifier and Type | Method and Description |
---|---|
void |
abort(long id)
Abort the transaction.
|
void |
abort(long id,
long waitFor)
Abort the transaction, waiting for participants to be notified of the decision.
|
void |
abort(Object xid) |
void |
abort(Object xid,
long waitFor) |
void |
commit(long id)
Commit the transaction.
|
void |
commit(long id,
long waitFor)
Commit the transaction, waiting for participants to be notified of the decision.
|
void |
commit(Object xid) |
void |
commit(Object xid,
long waitFor) |
TransactionManager.Created |
create(long lease)
Begin a new top-level transaction.
|
TransactionManager.Created |
create(Object xid,
long lease) |
static TxnMgrProxy |
create(TxnManager txnMgr,
TxnManager direct,
Uuid id) |
TxnMgrProxy |
createLightProxy() |
boolean |
disJoin(long id,
TransactionParticipant part)
Remove a participant that was joined for a first time.
|
boolean |
equals(Object o)
Proxies for servers with the same
proxyID are considered equal. |
Object |
getAdmin()
Returns an object that implements whatever administration interfaces are appropriate for the
particular service.
|
MarshalPivot |
getMarshalPivot() |
TxnManager |
getProxy() |
Uuid |
getReferentUuid()
Returns the universally unique identifier that has been assigned to the resource this proxy
represents.
|
int |
getState(long id)
Returns the current state of the given transaction.
|
int |
getState(Object xid) |
Uuid |
getTransactionManagerId() |
int |
hashCode()
Proxies for servers with the same proxyID have the same hash code.
|
boolean |
isEmbeddedMgr() |
void |
join(long id,
TransactionParticipant part,
long crashCount)
Join a transaction that is managed by this transaction manager.
|
void |
join(long id,
TransactionParticipant part,
long crashCount,
int partitionId,
String clusterName) |
void |
join(long id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject)
Deprecated.
|
void |
join(long id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject,
int partitionId,
String clusterName,
Object clusterProxy) |
void |
join(Object id,
TransactionParticipant part,
long crashCount) |
void |
join(Object id,
TransactionParticipant part,
long crashCount,
int partitionId,
String clusterName) |
void |
join(Object id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject)
Deprecated.
|
void |
join(Object id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject,
int partitionId,
String clusterName,
Object clusterProxy) |
boolean |
needParticipantsJoin()
returns true if this mgr which requires that the txn participants join into the txn in
contrary to a mgr which the participants are known prior to txn propagation
|
int |
prepare(Object xid)
prepare the underlying xtn designated by the rendered xid
|
void |
readExternal(ObjectInput in) |
void |
reenterPreparedExternalXid(Object xid,
List<TransactionParticipant> parts)
Retrieves a
Transaction given the transaction's ID. |
String |
toString() |
void |
writeExternal(ObjectOutput out) |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
enabledSmartExternalizableWithReference
public Uuid proxyID
Uuid
public static TxnMgrProxy create(TxnManager txnMgr, TxnManager direct, Uuid id)
public TxnMgrProxy createLightProxy()
public TransactionManager.Created create(long lease) throws LeaseDeniedException, RemoteException
TransactionManager
create
in interface TransactionManager
lease
- the requested lease time for the transactionLeaseDeniedException
- if this manager is unwilling to grant the requested lease timeRemoteException
- if there is a communication errorpublic void join(long id, TransactionParticipant part, long crashCount) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
TransactionManager
crashCount
marks the state of the storage used by the participant for transactions. If the participant
attempts to join a transaction more than once, the crash counts must be the same. Each system
crash or other event that destroys the state of the participant's unprepared transaction
storage must cause the crash count to increase by at least one.join
in interface TransactionManager
id
- the transaction IDpart
- the participant joining the transactioncrashCount
- the participant's current crash countUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.CannotJoinException
- if the transaction is known to the manager but is no
longer active.CrashCountException
- if the crash count provided for the participant differs
from the crash count in a previous invocation of the same
pairing of participant and transactionRemoteException
- if there is a communication errorServerTransaction.join(net.jini.core.transaction.server.TransactionParticipant, long)
public boolean disJoin(long id, TransactionParticipant part) throws UnknownTransactionException, RemoteException
ExtendedTransactionManager
disJoin
in interface ExtendedTransactionManager
part
- The joining TransactionParticpant
UnknownTransactionException
RemoteException
TransactionParticipant
public int getState(long id) throws UnknownTransactionException, RemoteException
TransactionManager
TransactionConstants
values.getState
in interface TransactionManager
id
- the transaction IDint
representing the state of the transactionUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.RemoteException
- if there is a communication errorServerTransaction.getState()
,
TransactionConstants
public void commit(long id) throws UnknownTransactionException, CannotCommitException, RemoteException
TransactionManager
NOTCHANGED
or the COMMITTED
state, without waiting for the
transaction manager to notify all participants of the decision. If the transaction must be
aborted (because one or more participants are unable to prepare),
CannotCommitException
is thrown without waiting for the transaction manager to
notify all participants of the decision.commit
in interface TransactionManager
id
- the transaction IDUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.CannotCommitException
- if the transaction is being or already has been abortedRemoteException
- if there is a communication errorpublic void commit(long id, long waitFor) throws UnknownTransactionException, CannotCommitException, TimeoutExpiredException, RemoteException
TransactionManager
NOTCHANGED
or the
COMMITTED
state, and the transaction manager has notified all participants of
the decision, before the specified timeout expires. If the transaction must be aborted
(because one or more participants are unable to prepare), CannotCommitException
is thrown if the transaction manager is able to notify all participants of the decision
before the specified timeout expires. If the transaction manager reaches a decision, but is
unable to notify all participants of that decision before the specified timeout expires, then
TimeoutExpiredException
is thrown. If the specified timeout expires before the
transaction manager reaches a decision, TimeoutExpiredException
is not thrown
until the manager reaches a decision.commit
in interface TransactionManager
id
- the transaction IDwaitFor
- timeout to wait, from the start of the call until all participants have been
notified of the transaction manager's decisionUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.CannotCommitException
- if the transaction is being or already has been abortedTimeoutExpiredException
- if the transaction manager reaches a decision, but is
unable to notify all participants of that decision before
the specified timeout expiresRemoteException
- if there is a communication errorpublic void abort(long id) throws UnknownTransactionException, CannotAbortException, RemoteException
TransactionManager
abort
in interface TransactionManager
id
- the transaction IDUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.CannotAbortException
- if the transaction is known to have previously reached
the COMMITTED state due to an earlier commitRemoteException
- if there is a communication errorpublic void abort(long id, long waitFor) throws UnknownTransactionException, CannotAbortException, TimeoutExpiredException, RemoteException
TransactionManager
TimeoutExpiredException
is thrown.abort
in interface TransactionManager
id
- the transaction IDwaitFor
- timeout to wait, from the start of the call until all participants have been
notified of the transaction manager's decisionUnknownTransactionException
- if the transaction is unknown to the transaction manager,
either because the transaction ID is incorrect or because
the transaction is complete and its state has been
discarded by the manager.CannotAbortException
- if the transaction is known to have previously reached
the COMMITTED state due to an earlier commitTimeoutExpiredException
- if the timeout expires before all participants have been
notifiedRemoteException
- if there is a communication errorpublic int prepare(Object xid) throws CannotCommitException, UnknownTransactionException, RemoteException
ExtendedTransactionManager
prepare
in interface ExtendedTransactionManager
CannotCommitException
UnknownTransactionException
RemoteException
public void commit(Object xid) throws UnknownTransactionException, CannotCommitException, RemoteException
commit
in interface ExtendedTransactionManager
UnknownTransactionException
CannotCommitException
RemoteException
public void commit(Object xid, long waitFor) throws UnknownTransactionException, CannotCommitException, TimeoutExpiredException, RemoteException
commit
in interface ExtendedTransactionManager
UnknownTransactionException
CannotCommitException
TimeoutExpiredException
RemoteException
public void abort(Object xid) throws UnknownTransactionException, CannotAbortException, RemoteException
abort
in interface ExtendedTransactionManager
UnknownTransactionException
CannotAbortException
RemoteException
public void abort(Object xid, long waitFor) throws UnknownTransactionException, CannotAbortException, TimeoutExpiredException, RemoteException
abort
in interface ExtendedTransactionManager
UnknownTransactionException
CannotAbortException
TimeoutExpiredException
RemoteException
public TransactionManager.Created create(Object xid, long lease) throws LeaseDeniedException, RemoteException
create
in interface ExtendedTransactionManager
LeaseDeniedException
RemoteException
public int getState(Object xid) throws UnknownTransactionException, RemoteException
getState
in interface ExtendedTransactionManager
UnknownTransactionException
RemoteException
public void join(Object id, TransactionParticipant part, long crashCount) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
@Deprecated public void join(long id, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
@Deprecated public void join(Object id, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void join(long id, TransactionParticipant part, long crashCount, int partitionId, String clusterName) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void join(Object id, TransactionParticipant part, long crashCount, int partitionId, String clusterName) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void join(long id, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject, int partitionId, String clusterName, Object clusterProxy) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void join(Object id, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject, int partitionId, String clusterName, Object clusterProxy) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void reenterPreparedExternalXid(Object xid, List<TransactionParticipant> parts) throws RemoteException, CannotCommitException
Transaction
given the transaction's ID.xid
- the idRemoteException
CannotCommitException
public Object getAdmin() throws RemoteException
Administrable
getAdmin
in interface Administrable
RemoteException
JoinAdmin
public Uuid getReferentUuid()
getReferentUuid
in interface ReferentUuid
Uuid
that is associated with the resource this proxy
represents. This method will not return null
.ReferentUuid
public int hashCode()
public boolean equals(Object o)
proxyID
are considered equal.public TxnManager getProxy()
public boolean needParticipantsJoin()
needParticipantsJoin
in interface TransactionManager
public boolean isEmbeddedMgr()
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public MarshalPivot getMarshalPivot() throws RemoteException
getMarshalPivot
in interface MarshalPivotProvider
RemoteException
public Uuid getTransactionManagerId() throws RemoteException
getTransactionManagerId
in interface TransactionManager
RemoteException
Copyright © GigaSpaces.