public class TxnManagerImpl extends Object implements TxnManager, LeaseExpirationMgr.Expirer, LogRecovery, TxnSettler, TimeConstants, LocalLandlord, ServerProxyTrust, ProxyAccessor
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
TxnManagerImpl.IdGenT  | 
Landlord.RenewResultsTransactionManager.Created| Modifier and Type | Field and Description | 
|---|---|
protected Exporter | 
exporter
The exporter for exporting and unexporting 
 | 
protected LoginContext | 
loginContext
The login context, for logging out 
 | 
MAHALOABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTINGDAYS, HOURS, MINUTES, SECONDS| 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(Entry[] attrSets)
Add attribute sets for the service. 
 | 
void | 
addLookupGroups(String[] groups)
Add new groups to the set to join. 
 | 
void | 
addLookupLocators(LookupLocator[] locators)
Add locators for specific new lookup services to join. 
 | 
void | 
cancel(Uuid uuid)
Cancels the lease on a  
Transaction. | 
Map | 
cancelAll(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. 
 | 
boolean | 
disJoin(Object id,
       TransactionParticipant part)  | 
Object | 
getAdmin()
Returns the administration object for the transaction manager. 
 | 
TransactionManager | 
getLocalProxy()  | 
Entry[] | 
getLookupAttributes()
Get the current attribute sets for the service. 
 | 
String[] | 
getLookupGroups()
Get the list of groups to join. 
 | 
LookupLocator[] | 
getLookupLocators()
Get the list of locators of specific lookup services to join. 
 | 
Object | 
getProxy()
Returns a proxy object for this remote object. 
 | 
TrustVerifier | 
getProxyVerifier()
Returns a  
TrustVerifier that can be used to verify that a proxy can be trusted
 as a proxy for the service; that is, the isTrustedObject method of the returned verifier can be called with a candidate proxy. | 
Object | 
getServiceProxy()
Returns a proxy object for this object. 
 | 
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. | 
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(Entry[] attrSetTemplates,
                      Entry[] attrSets)
Modify the current attribute sets, using the same semantics as ServiceRegistration.modifyAttributes. 
 | 
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,
       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)
Remove groups from the set to join. 
 | 
void | 
removeLookupLocators(LookupLocator[] locators)
Remove locators for specific lookup services from the set to join. 
 | 
long | 
renew(Uuid uuid,
     long extension)
Requests the renewal of  a lease on a  
Transaction. | 
Landlord.RenewResults | 
renewAll(Uuid[] cookies,
        long[] extensions)
Bulk renewal request of leases on  
Transactions. | 
void | 
setLookupGroups(String[] groups)
Replace the list of groups to join with a new list. 
 | 
void | 
setLookupLocators(LookupLocator[] locators)
Replace the list of locators of specific lookup services to join with a new list. 
 | 
protected 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 ExtendedTransactionManagerpart - The joining TransactionParticpantUnknownTransactionExceptionRemoteExceptionTransactionParticipantpublic boolean disJoin(Object id, TransactionParticipant part) throws UnknownTransactionException, RemoteException
public int prepare(Object xid) throws CannotCommitException, UnknownTransactionException, RemoteException
prepare in interface ExtendedTransactionManagerCannotCommitExceptionUnknownTransactionExceptionRemoteExceptionpublic 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,
                    LogRecord rec)
             throws LogException
recover in interface LogRecoverycookie - the transaction's IDrec - the LogRecordLogExceptionpublic 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(Uuid uuid, long extension) throws UnknownLeaseException, LeaseDeniedException
Transaction.renew in interface Landlordrenew in interface LocalLandlorduuid - identifies the leased resourceextension - requested lease extensionUnknownLeaseException - if landlord does not know about a lease with the specified
                               cookieLeaseDeniedException - if the landlord is unwilling to renew the leaseLease, 
LeasedResource, 
LeaseManagerpublic void cancel(Uuid uuid) throws UnknownLeaseException
Transaction.cancel in interface Landlordcancel in interface LocalLandlordcancel in interface LeaseExpirationMgr.Expireruuid - identifies the leased resourceUnknownLeaseException - if landlord does not know about a lease with the specified
                               cookieLease, 
LeasedResource, 
LeaseManagerpublic Landlord.RenewResults renewAll(Uuid[] cookies, long[] extensions)
Transactions.renewAll in interface Landlordcookies - identifies the leased resourcesextensions - requested lease extensionsLease, 
LeasedResource, 
LeaseManagerpublic Map cancelAll(Uuid[] cookies)
Transactions.cancelAll in interface Landlordcookies - identifies the leased resourcescookies could be cancelled return
 null.  Otherwise, return a Map that for each failed cancel attempt
 maps the corresponding cookie object to an exception describing the failure.Lease, 
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 DestroyAdminpublic Object getAdmin()
getAdmin in interface AdministrableJoinAdminpublic Entry[] getLookupAttributes()
JoinAdmingetLookupAttributes in interface JoinAdminpublic void addLookupAttributes(Entry[] attrSets)
JoinAdminaddLookupAttributes in interface JoinAdminattrSets - the attribute sets to addpublic void modifyLookupAttributes(Entry[] attrSetTemplates, Entry[] attrSets)
JoinAdminmodifyLookupAttributes in interface JoinAdminattrSetTemplates - the templates for matching attribute setsattrSets - the modifications to make to matching setsServiceRegistration.modifyAttributes(net.jini.core.entry.Entry[], net.jini.core.entry.Entry[])public String[] getLookupGroups()
JoinAdmingetLookupGroups in interface JoinAdminJoinAdmin.setLookupGroups(java.lang.String[])public void addLookupGroups(String[] groups)
JoinAdminaddLookupGroups in interface JoinAdmingroups - groups to joinJoinAdmin.removeLookupGroups(java.lang.String[])public void removeLookupGroups(String[] groups)
JoinAdminremoveLookupGroups in interface JoinAdmingroups - groups to leaveJoinAdmin.addLookupGroups(java.lang.String[])public void setLookupGroups(String[] groups)
JoinAdminsetLookupGroups in interface JoinAdmingroups - groups to joinJoinAdmin.getLookupGroups()public LookupLocator[] getLookupLocators()
JoinAdmingetLookupLocators in interface JoinAdminJoinAdmin.setLookupLocators(net.jini.core.discovery.LookupLocator[])public void addLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminaddLookupLocators in interface JoinAdminlocators - locators of specific lookup services to joinRemoteExceptionJoinAdmin.removeLookupLocators(net.jini.core.discovery.LookupLocator[])public void removeLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminremoveLookupLocators in interface JoinAdminlocators - locators of specific lookup services to leaveRemoteExceptionJoinAdmin.addLookupLocators(net.jini.core.discovery.LookupLocator[])public void setLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdminsetLookupLocators in interface JoinAdminlocators - locators of specific lookup services to joinRemoteExceptionJoinAdmin.getLookupLocators()public Object getProxy()
ProxyAccessornull is returned.getProxy in interface ProxyAccessornullpublic TransactionManager getLocalProxy()
getLocalProxy in interface TxnManagerpublic Object getServiceProxy()
ServiceProxyAccessornull.getServiceProxy in interface ServiceProxyAccessorprotected void initFailed(Throwable e) throws Exception
e - the exception produced by the failureExceptionpublic TrustVerifier getProxyVerifier()
ServerProxyTrustTrustVerifier that can be used to verify that a proxy can be trusted
 as a proxy for the service; that is, the isTrustedObject method of the returned verifier can be called with a candidate proxy. The
 verifier should be able to verify all proxies for the service, including proxies for
 resources (such as leases and registrations).getProxyVerifier in interface ServerProxyTrustTrustVerifier that can be used to verify that a proxy can be trusted
 as a proxy for the servicepublic boolean needParticipantsJoin()
                             throws RemoteException
needParticipantsJoin in interface TransactionManagerRemoteExceptionpublic Uuid getTransactionManagerId() throws RemoteException
getTransactionManagerId in interface TransactionManagerRemoteExceptionCopyright © GigaSpaces.