public class TxnManagerImpl extends Object implements TxnManager, LeaseExpirationMgr.Expirer, com.sun.jini.mahalo.log.LogRecovery, TxnSettler, com.sun.jini.constants.TimeConstants, com.sun.jini.landlord.LocalLandlord, net.jini.security.proxytrust.ServerProxyTrust, net.jini.export.ProxyAccessor
| Modifier and Type | Class and Description |
|---|---|
static class |
TxnManagerImpl.IdGenT |
com.sun.jini.landlord.Landlord.RenewResultsTransactionManager.Created| Modifier and Type | Field and Description |
|---|---|
protected net.jini.export.Exporter |
exporter
The exporter for exporting and unexporting
|
protected LoginContext |
loginContext
The login context, for logging out
|
MAHALOABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING| Modifier and Type | Method and Description |
|---|---|
void |
abort_impl(Object id,
long waitFor) |
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 |
addLookupAttributes(net.jini.core.entry.Entry[] attrSets) |
void |
addLookupGroups(String[] groups) |
void |
addLookupLocators(net.jini.core.discovery.LookupLocator[] locators) |
void |
cancel(net.jini.id.Uuid uuid)
Cancels the lease on a
Transaction. |
Map |
cancelAll(net.jini.id.Uuid[] cookies)
Bulk cancel of leases on
Transactions. |
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 externalXid,
long lease) |
void |
destroy()
Cleans up and exits the transaction manager.
|
boolean |
disJoin(long id,
TransactionParticipant part)
Remove a participant that was joined
for a first time. called when a call to a participant returned empty so we can
spare calling commit or abort on it, usually used in embedded mahalo
|
boolean |
disJoin(Object id,
TransactionParticipant part) |
Object |
getAdmin()
Returns the administration object for the
transaction manager.
|
TransactionManager |
getLocalProxy() |
net.jini.core.entry.Entry[] |
getLookupAttributes() |
String[] |
getLookupGroups() |
net.jini.core.discovery.LookupLocator[] |
getLookupLocators() |
Object |
getProxy() |
net.jini.security.TrustVerifier |
getProxyVerifier() |
Object |
getServiceProxy() |
int |
getState(long id)
Returns the current state of the given transaction.
|
int |
getState(Object id) |
Transaction |
getTransaction(long id)
Method from
TxnManager which produces
a Transaction from its ID. |
net.jini.id.Uuid |
getTransactionManagerId() |
protected void |
initFailed(Throwable e)
Log information about failing to initialize the service and rethrow the
appropriate exception.
|
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) |
void |
join(long id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject,
int partitionId,
String clusterName,
Object clusterProxy) |
void |
join(Object xid,
TransactionParticipant part,
long crashCount) |
void |
join(Object xid,
TransactionParticipant part,
long crashCount,
int partitionId,
String clusterName) |
void |
join(Object xid,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject) |
void |
join(Object xid,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject,
int partitionId,
String clusterName,
Object clusterProxy) |
TransactionManager |
manager()
Returns a reference to the
TransactionManager
interface. |
void |
modifyLookupAttributes(net.jini.core.entry.Entry[] attrSetTemplates,
net.jini.core.entry.Entry[] attrSets) |
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
|
void |
noteUnsettledTxn(Object tid)
Informs the transaction manager to attempt to
settle a given transaction.
|
int |
prepare(Object xid)
prepare the underlying xtn designated by the rendered xid
|
void |
recover(long cookie,
com.sun.jini.mahalo.log.LogRecord rec)
This method recovers state changes resulting from
committing a transaction.
|
void |
reenterPreparedExternalXid(Object xid,
List<TransactionParticipant> parts)
given a prepared xid (retrieved from participants) reenlist it and its participants- used in XA
|
void |
removeLookupGroups(String[] groups) |
void |
removeLookupLocators(net.jini.core.discovery.LookupLocator[] locators) |
long |
renew(net.jini.id.Uuid uuid,
long extension)
Requests the renewal of a lease on a
Transaction. |
com.sun.jini.landlord.Landlord.RenewResults |
renewAll(net.jini.id.Uuid[] cookies,
long[] extensions)
Bulk renewal request of leases on
Transactions. |
void |
setLookupGroups(String[] groups) |
void |
setLookupLocators(net.jini.core.discovery.LookupLocator[] locators) |
protected net.jini.export.Exporter exporter
protected LoginContext loginContext
public TransactionManager.Created create(long lease) throws LeaseDeniedException
TransactionManagercreate in interface TransactionManagerlease - the requested lease time for the transactionLeaseDeniedException - if this manager is unwilling to
grant the requested lease timepublic TransactionManager.Created create(Object externalXid, long lease) throws LeaseDeniedException
create in interface ExtendedTransactionManagerLeaseDeniedExceptionpublic void join(long id,
TransactionParticipant part,
long crashCount)
throws UnknownTransactionException,
CannotJoinException,
CrashCountException,
RemoteException
TransactionManagercrashCount 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 TransactionManagerid - 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 void join(Object xid, TransactionParticipant part, long crashCount) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(long id,
TransactionParticipant part,
long crashCount,
int partitionId,
String clusterName)
throws UnknownTransactionException,
CannotJoinException,
CrashCountException,
RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(Object xid, TransactionParticipant part, long crashCount, int partitionId, String clusterName) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(long id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject)
throws UnknownTransactionException,
CannotJoinException,
CrashCountException,
RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(Object xid, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(long id,
TransactionParticipant part,
long crashCount,
ServerTransaction userXtnObject,
int partitionId,
String clusterName,
Object clusterProxy)
throws UnknownTransactionException,
CannotJoinException,
CrashCountException,
RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic void join(Object xid, TransactionParticipant part, long crashCount, ServerTransaction userXtnObject, int partitionId, String clusterName, Object clusterProxy) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotJoinExceptionCrashCountExceptionRemoteExceptionpublic boolean disJoin(long id,
TransactionParticipant part)
throws UnknownTransactionException,
RemoteException
ExtendedTransactionManagerdisJoin in interface ExtendedTransactionManagerUnknownTransactionExceptionRemoteExceptionTransactionParticipantpublic boolean disJoin(Object id, TransactionParticipant part) throws UnknownTransactionException, RemoteException
public int prepare(Object xid) throws CannotCommitException, UnknownTransactionException, RemoteException
prepare in interface ExtendedTransactionManagerxid - UnknownTransactionExceptionRemoteExceptionCannotCommitExceptionpublic int getState(long id)
throws UnknownTransactionException
TransactionManagerTransactionConstants values.getState in interface TransactionManagerid - 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.ServerTransaction.getState(),
TransactionConstantspublic int getState(Object id) throws UnknownTransactionException
getState in interface ExtendedTransactionManagerUnknownTransactionExceptionpublic void commit(long id)
throws UnknownTransactionException,
CannotCommitException,
RemoteException
TransactionManagerNOTCHANGED
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 TransactionManagerid - 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
TransactionManagerNOTCHANGED 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 TransactionManagerid - 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 commit(Object xid) throws UnknownTransactionException, CannotCommitException, RemoteException
commit in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotCommitExceptionRemoteExceptionpublic void commit(Object xid, long waitFor) throws UnknownTransactionException, CannotCommitException, TimeoutExpiredException, RemoteException
commit in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotCommitExceptionTimeoutExpiredExceptionRemoteExceptionpublic void abort(long id)
throws UnknownTransactionException,
CannotAbortException
TransactionManagerabort in interface TransactionManagerid - 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
commitpublic void abort(long id,
long waitFor)
throws UnknownTransactionException,
CannotAbortException,
TimeoutExpiredException
TransactionManagerTimeoutExpiredException
is thrown.abort in interface TransactionManagerid - 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 notifiedpublic void abort_impl(Object id, long waitFor) throws UnknownTransactionException, CannotAbortException, TimeoutExpiredException
public void abort(Object xid) throws UnknownTransactionException, CannotAbortException, RemoteException
abort in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotAbortExceptionRemoteExceptionpublic void abort(Object xid, long waitFor) throws UnknownTransactionException, CannotAbortException, TimeoutExpiredException, RemoteException
abort in interface ExtendedTransactionManagerUnknownTransactionExceptionCannotAbortExceptionTimeoutExpiredExceptionRemoteExceptionpublic void recover(long cookie,
com.sun.jini.mahalo.log.LogRecord rec)
throws com.sun.jini.mahalo.log.LogException
recover in interface com.sun.jini.mahalo.log.LogRecoverycookie - the transaction's IDrec - the LogRecordcom.sun.jini.mahalo.log.LogExceptionpublic void noteUnsettledTxn(Object tid)
noteUnsettledTxn in interface TxnSettlertid - the transaction's IDpublic Transaction getTransaction(long id) throws UnknownTransactionException
TxnManager which produces
a Transaction from its ID.getTransaction in interface TxnManagerid - the IDUnknownTransactionExceptionTransaction,
TxnManagerpublic long renew(net.jini.id.Uuid uuid,
long extension)
throws UnknownLeaseException,
LeaseDeniedException
Transaction.renew in interface com.sun.jini.landlord.Landlordrenew in interface com.sun.jini.landlord.LocalLandlordcookie - identifies the leased resourceextension - requested lease extensionUnknownLeaseExceptionLeaseDeniedExceptionLease,
LeasedResource,
LeaseManagerpublic void cancel(net.jini.id.Uuid uuid)
throws UnknownLeaseException
Transaction.cancel in interface com.sun.jini.landlord.Landlordcancel in interface com.sun.jini.landlord.LocalLandlordcancel in interface LeaseExpirationMgr.Expirercookie - identifies the leased resourceUnknownLeaseExceptionLease,
LeasedResource,
LeaseManagerpublic com.sun.jini.landlord.Landlord.RenewResults renewAll(net.jini.id.Uuid[] cookies,
long[] extensions)
Transactions.renewAll in interface com.sun.jini.landlord.Landlordcookies - identifies the leased resourcesextensions - requested lease extensionsLease,
LeasedResource,
LeaseManagerpublic Map cancelAll(net.jini.id.Uuid[] cookies)
Transactions.cancelAll in interface com.sun.jini.landlord.Landlordcookies - identifies the leased resourcesLease,
LeasedResource,
LeaseManagerpublic TransactionManager manager()
TransactionManager
interface.manager in interface TxnManagerTransactionManagerpublic void reenterPreparedExternalXid(Object xid, List<TransactionParticipant> parts) throws CannotCommitException
TxnManagerreenterPreparedExternalXid in interface TxnManagerCannotCommitExceptionpublic void destroy()
destroy in interface com.sun.jini.admin.DestroyAdminpublic Object getAdmin()
getAdmin in interface net.jini.admin.Administrablepublic net.jini.core.entry.Entry[] getLookupAttributes()
getLookupAttributes in interface net.jini.admin.JoinAdminpublic void addLookupAttributes(net.jini.core.entry.Entry[] attrSets)
addLookupAttributes in interface net.jini.admin.JoinAdminpublic void modifyLookupAttributes(net.jini.core.entry.Entry[] attrSetTemplates,
net.jini.core.entry.Entry[] attrSets)
modifyLookupAttributes in interface net.jini.admin.JoinAdminpublic String[] getLookupGroups()
getLookupGroups in interface net.jini.admin.JoinAdminpublic void addLookupGroups(String[] groups)
addLookupGroups in interface net.jini.admin.JoinAdminpublic void removeLookupGroups(String[] groups)
removeLookupGroups in interface net.jini.admin.JoinAdminpublic void setLookupGroups(String[] groups)
setLookupGroups in interface net.jini.admin.JoinAdminpublic net.jini.core.discovery.LookupLocator[] getLookupLocators()
getLookupLocators in interface net.jini.admin.JoinAdminpublic void addLookupLocators(net.jini.core.discovery.LookupLocator[] locators)
throws RemoteException
addLookupLocators in interface net.jini.admin.JoinAdminRemoteExceptionpublic void removeLookupLocators(net.jini.core.discovery.LookupLocator[] locators)
throws RemoteException
removeLookupLocators in interface net.jini.admin.JoinAdminRemoteExceptionpublic void setLookupLocators(net.jini.core.discovery.LookupLocator[] locators)
throws RemoteException
setLookupLocators in interface net.jini.admin.JoinAdminRemoteExceptionpublic Object getProxy()
getProxy in interface net.jini.export.ProxyAccessorpublic TransactionManager getLocalProxy()
getLocalProxy in interface TxnManagerpublic Object getServiceProxy()
getServiceProxy in interface com.sun.jini.start.ServiceProxyAccessorprotected void initFailed(Throwable e) throws Exception
e - the exception produced by the failureExceptionpublic net.jini.security.TrustVerifier getProxyVerifier()
getProxyVerifier in interface net.jini.security.proxytrust.ServerProxyTrustpublic boolean needParticipantsJoin()
throws RemoteException
needParticipantsJoin in interface TransactionManagerRemoteExceptionpublic net.jini.id.Uuid getTransactionManagerId()
throws RemoteException
getTransactionManagerId in interface TransactionManagerRemoteExceptionCopyright © GigaSpaces.