|
GigaSpaces XAP 9.7.2 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.sun.jini.mahalo.TxnManagerImpl
public class TxnManagerImpl
An implementation of the Jini(TM) Transaction Specification.
Nested Class Summary | |
---|---|
static class |
TxnManagerImpl.IdGenT
|
Nested classes/interfaces inherited from interface com.sun.jini.landlord.Landlord |
---|
Landlord.RenewResults |
Nested classes/interfaces inherited from interface net.jini.core.transaction.server.TransactionManager |
---|
TransactionManager.Created |
Field Summary | |
---|---|
protected Exporter |
exporter
The exporter for exporting and unexporting |
protected LoginContext |
loginContext
The login context, for logging out |
Fields inherited from interface com.sun.jini.mahalo.TxnManager |
---|
MAHALO |
Fields inherited from interface net.jini.core.transaction.server.TransactionConstants |
---|
ABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING |
Fields inherited from interface com.sun.jini.constants.TimeConstants |
---|
DAYS, HOURS, MINUTES, SECONDS |
Method Summary | |
---|---|
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 Transaction s. |
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()
|
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 Transaction s. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Exporter exporter
protected LoginContext loginContext
Method Detail |
---|
public TransactionManager.Created create(long lease) throws LeaseDeniedException
TransactionManager
create
in interface TransactionManager
lease
- the requested lease time for the transaction
LeaseDeniedException
- if this manager is unwilling to
grant the requested lease timepublic TransactionManager.Created create(Object externalXid, long lease) throws LeaseDeniedException
create
in interface ExtendedTransactionManager
LeaseDeniedException
public 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 count
UnknownTransactionException
- 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 transaction
RemoteException
- 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 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 xid, 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) throws UnknownTransactionException, CannotJoinException, CrashCountException, RemoteException
join
in interface ExtendedTransactionManager
UnknownTransactionException
CannotJoinException
CrashCountException
RemoteException
public void join(Object xid, 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, 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 xid, 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 boolean disJoin(long id, TransactionParticipant part) throws UnknownTransactionException, RemoteException
ExtendedTransactionManager
disJoin
in interface ExtendedTransactionManager
UnknownTransactionException
RemoteException
TransactionParticipant
public boolean disJoin(Object id, TransactionParticipant part) throws UnknownTransactionException, RemoteException
UnknownTransactionException
RemoteException
public int prepare(Object xid) throws CannotCommitException, UnknownTransactionException, RemoteException
prepare
in interface ExtendedTransactionManager
xid
-
UnknownTransactionException
RemoteException
CannotCommitException
public int getState(long id) throws UnknownTransactionException
TransactionManager
TransactionConstants
values.
getState
in interface TransactionManager
id
- the transaction ID
int
representing the state of the transaction
UnknownTransactionException
- 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()
,
TransactionConstants
public int getState(Object id) throws UnknownTransactionException
getState
in interface ExtendedTransactionManager
UnknownTransactionException
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 ID
UnknownTransactionException
- 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 aborted
RemoteException
- 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
decision
UnknownTransactionException
- 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 aborted
TimeoutExpiredException
- if the transaction manager reaches
a decision, but is unable to notify all participants of that
decision before the specified timeout expires
RemoteException
- if there is a communication errorpublic 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(long id) throws UnknownTransactionException, CannotAbortException
TransactionManager
abort
in interface TransactionManager
id
- the transaction ID
UnknownTransactionException
- 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
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
decision
UnknownTransactionException
- 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
commit
TimeoutExpiredException
- if the timeout expires before
all participants have been notifiedpublic void abort_impl(Object id, long waitFor) throws UnknownTransactionException, CannotAbortException, TimeoutExpiredException
UnknownTransactionException
CannotAbortException
TimeoutExpiredException
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 void recover(long cookie, LogRecord rec) throws LogException
recover
in interface LogRecovery
cookie
- the transaction's IDrec
- the LogRecord
LogException
public void noteUnsettledTxn(Object tid)
noteUnsettledTxn
in interface TxnSettler
tid
- the transaction's IDpublic Transaction getTransaction(long id) throws UnknownTransactionException
TxnManager
which produces
a Transaction
from its ID.
getTransaction
in interface TxnManager
id
- the ID
UnknownTransactionException
Transaction
,
TxnManager
public long renew(Uuid uuid, long extension) throws UnknownLeaseException, LeaseDeniedException
Transaction
.
renew
in interface Landlord
renew
in interface LocalLandlord
cookie
- identifies the leased resourceextension
- requested lease extension
UnknownLeaseException
- if landlord does not know about
a lease with the specified cookie
LeaseDeniedException
- if the landlord is unwilling to
renew the leaseLease
,
LeasedResource
,
LeaseManager
public void cancel(Uuid uuid) throws UnknownLeaseException
Transaction
.
cancel
in interface Landlord
cancel
in interface LocalLandlord
cancel
in interface LeaseExpirationMgr.Expirer
cookie
- identifies the leased resource
UnknownLeaseException
- if landlord does not know about
a lease with the specified cookie
Lease
,
LeasedResource
,
LeaseManager
public Landlord.RenewResults renewAll(Uuid[] cookies, long[] extensions)
Transaction
s.
renewAll
in interface Landlord
cookies
- identifies the leased resourcesextensions
- requested lease extensions
Lease
,
LeasedResource
,
LeaseManager
public Map cancelAll(Uuid[] cookies)
Transaction
s.
cancelAll
in interface Landlord
cookies
- identifies the leased resources
cookies
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
,
LeaseManager
public TransactionManager manager()
TransactionManager
interface.
manager
in interface TxnManager
TransactionManager
public void reenterPreparedExternalXid(Object xid, List<TransactionParticipant> parts) throws CannotCommitException
TxnManager
reenterPreparedExternalXid
in interface TxnManager
CannotCommitException
public void destroy()
destroy
in interface DestroyAdmin
public Object getAdmin()
getAdmin
in interface Administrable
JoinAdmin
public Entry[] getLookupAttributes()
JoinAdmin
getLookupAttributes
in interface JoinAdmin
public void addLookupAttributes(Entry[] attrSets)
JoinAdmin
addLookupAttributes
in interface JoinAdmin
attrSets
- the attribute sets to addpublic void modifyLookupAttributes(Entry[] attrSetTemplates, Entry[] attrSets)
JoinAdmin
modifyLookupAttributes
in interface JoinAdmin
attrSetTemplates
- 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()
JoinAdmin
getLookupGroups
in interface JoinAdmin
JoinAdmin.setLookupGroups(java.lang.String[])
public void addLookupGroups(String[] groups)
JoinAdmin
addLookupGroups
in interface JoinAdmin
groups
- groups to joinJoinAdmin.removeLookupGroups(java.lang.String[])
public void removeLookupGroups(String[] groups)
JoinAdmin
removeLookupGroups
in interface JoinAdmin
groups
- groups to leaveJoinAdmin.addLookupGroups(java.lang.String[])
public void setLookupGroups(String[] groups)
JoinAdmin
setLookupGroups
in interface JoinAdmin
groups
- groups to joinJoinAdmin.getLookupGroups()
public LookupLocator[] getLookupLocators()
JoinAdmin
getLookupLocators
in interface JoinAdmin
JoinAdmin.setLookupLocators(net.jini.core.discovery.LookupLocator[])
public void addLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
addLookupLocators
in interface JoinAdmin
locators
- locators of specific lookup services to join
RemoteException
JoinAdmin.removeLookupLocators(net.jini.core.discovery.LookupLocator[])
public void removeLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
removeLookupLocators
in interface JoinAdmin
locators
- locators of specific lookup services to leave
RemoteException
JoinAdmin.addLookupLocators(net.jini.core.discovery.LookupLocator[])
public void setLookupLocators(LookupLocator[] locators) throws RemoteException
JoinAdmin
setLookupLocators
in interface JoinAdmin
locators
- locators of specific lookup services to join
RemoteException
JoinAdmin.getLookupLocators()
public Object getProxy()
ProxyAccessor
null
is returned.
getProxy
in interface ProxyAccessor
null
public TransactionManager getLocalProxy()
getLocalProxy
in interface TxnManager
public Object getServiceProxy()
ServiceProxyAccessor
null
.
getServiceProxy
in interface ServiceProxyAccessor
protected void initFailed(Throwable e) throws Exception
e
- the exception produced by the failure
Exception
public TrustVerifier getProxyVerifier()
ServerProxyTrust
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. The verifier
should be able to verify all proxies for the service, including
proxies for resources (such as leases and registrations).
getProxyVerifier
in interface ServerProxyTrust
TrustVerifier
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 TransactionManager
RemoteException
public Uuid getTransactionManagerId() throws RemoteException
getTransactionManagerId
in interface TransactionManager
RemoteException
|
GigaSpaces XAP 9.7.2 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |