org.objectweb.perseus.concurrency.distributed
Class DistributedConcurrencyManager
java.lang.Object
org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager
org.objectweb.perseus.concurrency.distributed.DistributedConcurrencyManager
- All Implemented Interfaces:
- ConcurrencyManager, PessimisticConcurrencyManagerAC
- public abstract class DistributedConcurrencyManager
- extends PessimisticConcurrencyManager
Fields inherited from class org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager |
contextInfos, DEPENDENCY_GRAPH_BINDING, dg, locks, logger, POLICY_MUTEX, POLICY_RW_FIFO, POLICY_RW_PRIORITY2READERS, POLICY_UNDEFINED, policyStringVal, thinLockAllowed |
Method Summary |
void |
abort(java.lang.Object ctx)
This method allows to release the resources allocated in a given context. |
void |
begin(java.lang.Object ctx)
This method records the start of an execution context. |
void |
bindFc(java.lang.String s,
java.lang.Object o)
|
void |
finalize(java.lang.Object ctx)
This method marks the end of accesses made by the execution context. |
protected GlobalLock |
getDistLock(java.lang.Object resourceId,
java.lang.Object hints,
boolean doInvalidate)
|
long |
getTimeout()
|
protected abstract void |
invalidateState(java.lang.Object resourceId,
java.lang.Object hints)
Invalidate the reference state of the resource |
boolean |
isDistGrantable(java.lang.Object resId,
byte lck,
java.lang.Object hints)
|
java.lang.String[] |
listFc()
|
java.lang.Object |
lookupFc(java.lang.String s)
|
java.lang.Object |
readIntention(java.lang.Object ctx,
java.lang.Object resourceId,
java.lang.Object hints)
This method records an access intention to a data object in read mode. |
void |
setTimeout(long timeout)
|
void |
setTimeOut(long timeout)
|
void |
unbindFc(java.lang.String s)
|
void |
uncacheGlobal(java.lang.Object oid)
|
java.lang.Object |
writeIntention(java.lang.Object ctx,
java.lang.Object resourceId,
java.lang.Object hints)
This method records an access intention to a data object in write mode. |
Methods inherited from class org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager |
closeLock, getContextInfo, getFcState, getLock, getPolicy, getResourceId, getState, getThinkLockAllowed, setPolicy, setThinkLockAllowed, startFc, stopFc, validate |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GLOBAL_LOCK_MANAGER_BINDING
public static final java.lang.String GLOBAL_LOCK_MANAGER_BINDING
- See Also:
- Constant Field Values
DistributedConcurrencyManager
public DistributedConcurrencyManager()
throws ConcurrencyException
setTimeOut
public void setTimeOut(long timeout)
listFc
public java.lang.String[] listFc()
- Overrides:
listFc
in class PessimisticConcurrencyManager
lookupFc
public java.lang.Object lookupFc(java.lang.String s)
throws NoSuchInterfaceException
- Overrides:
lookupFc
in class PessimisticConcurrencyManager
- Throws:
NoSuchInterfaceException
bindFc
public void bindFc(java.lang.String s,
java.lang.Object o)
throws IllegalBindingException,
NoSuchInterfaceException
- Overrides:
bindFc
in class PessimisticConcurrencyManager
- Throws:
IllegalBindingException
NoSuchInterfaceException
unbindFc
public void unbindFc(java.lang.String s)
throws NoSuchInterfaceException
- Overrides:
unbindFc
in class PessimisticConcurrencyManager
- Throws:
NoSuchInterfaceException
begin
public void begin(java.lang.Object ctx)
- Description copied from interface:
ConcurrencyManager
- This method records the start of an execution context. It can be a
transaction starting.
- Specified by:
begin
in interface ConcurrencyManager
- Overrides:
begin
in class PessimisticConcurrencyManager
finalize
public void finalize(java.lang.Object ctx)
- Description copied from interface:
ConcurrencyManager
- This method marks the end of accesses made by the execution context. This
method should be called when the validate method has returned true.
- Specified by:
finalize
in interface ConcurrencyManager
- Overrides:
finalize
in class PessimisticConcurrencyManager
abort
public void abort(java.lang.Object ctx)
- Description copied from interface:
ConcurrencyManager
- This method allows to release the resources allocated in a given context.
This method should be called when the validate method has returned false.
- Specified by:
abort
in interface ConcurrencyManager
- Overrides:
abort
in class PessimisticConcurrencyManager
readIntention
public java.lang.Object readIntention(java.lang.Object ctx,
java.lang.Object resourceId,
java.lang.Object hints)
throws ConcurrencyException
- Description copied from interface:
ConcurrencyManager
- This method records an access intention to a data object in read mode.
- Specified by:
readIntention
in interface ConcurrencyManager
- Overrides:
readIntention
in class PessimisticConcurrencyManager
- Throws:
ConcurrencyException
writeIntention
public java.lang.Object writeIntention(java.lang.Object ctx,
java.lang.Object resourceId,
java.lang.Object hints)
throws ConcurrencyException
- Description copied from interface:
ConcurrencyManager
- This method records an access intention to a data object in write mode.
A call to the readIntention is necessary before a call to this method.
- Specified by:
writeIntention
in interface ConcurrencyManager
- Overrides:
writeIntention
in class PessimisticConcurrencyManager
- Throws:
ConcurrencyException
uncacheGlobal
public void uncacheGlobal(java.lang.Object oid)
isDistGrantable
public boolean isDistGrantable(java.lang.Object resId,
byte lck,
java.lang.Object hints)
throws ConcurrencyException
- Throws:
ConcurrencyException
getTimeout
public long getTimeout()
setTimeout
public void setTimeout(long timeout)
getDistLock
protected GlobalLock getDistLock(java.lang.Object resourceId,
java.lang.Object hints,
boolean doInvalidate)
throws ConcurrencyException
- Throws:
ConcurrencyException
invalidateState
protected abstract void invalidateState(java.lang.Object resourceId,
java.lang.Object hints)
- Invalidate the reference state of the resource
- Parameters:
resourceId
- hints
-
Copyright © 2000-2002 France Telecom S.A., INRIA, IMAG-LSR All Rights Reserved.