|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager
Nested Class Summary | |
---|---|
protected static class |
PessimisticConcurrencyManager.ContextInfo
Information associated to a context |
Field Summary | |
---|---|
protected java.util.Map |
contextInfos
A map associating a ContextInfo to each context. |
static java.lang.String |
DEPENDENCY_GRAPH_BINDING
|
protected DependencyGraph |
dg
|
protected java.util.Map |
locks
A map associating locks to all oids in all active contexts. |
protected Logger |
logger
|
static short |
POLICY_MUTEX
|
static short |
POLICY_RW_FIFO
|
static short |
POLICY_RW_PRIORITY2READERS
|
static short |
POLICY_UNDEFINED
|
static java.lang.String[] |
policyStringVal
|
protected boolean |
thinLockAllowed
|
Constructor Summary | |
---|---|
PessimisticConcurrencyManager()
|
|
PessimisticConcurrencyManager(short policy)
|
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 |
closeLock(Lock lock,
java.lang.Object ctx)
|
void |
finalize(java.lang.Object ctx)
This method marks the end of accesses made by the execution context. |
protected PessimisticConcurrencyManager.ContextInfo |
getContextInfo(java.lang.Object ctxt)
|
java.lang.String |
getFcState()
|
protected Lock |
getLock(java.lang.Object oid,
java.lang.Object hints)
Returns the lock associated to the given oid. |
java.lang.String |
getPolicy()
|
protected java.lang.Object |
getResourceId(java.lang.Object object)
|
protected abstract java.lang.Object |
getState(java.lang.Object ctx,
java.lang.Object resourceId,
Lock lock)
|
boolean |
getThinkLockAllowed()
|
java.lang.String[] |
listFc()
|
java.lang.Object |
lookupFc(java.lang.String s)
|
java.lang.Object |
readIntention(java.lang.Object ctx,
java.lang.Object resource,
java.lang.Object thinLock)
This method records an access intention to a data object in read mode. |
void |
setPolicy(java.lang.String policy)
|
void |
setThinkLockAllowed(boolean val)
|
void |
startFc()
|
void |
stopFc()
|
void |
unbindFc(java.lang.String s)
|
boolean |
validate(java.lang.Object ctx)
This method requests the validation os accesses made by the context. |
java.lang.Object |
writeIntention(java.lang.Object ctx,
java.lang.Object resource,
java.lang.Object thinLock)
This method records an access intention to a data object in write mode. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final short POLICY_UNDEFINED
public static final short POLICY_MUTEX
public static final short POLICY_RW_PRIORITY2READERS
public static final short POLICY_RW_FIFO
public static final java.lang.String[] policyStringVal
public static final java.lang.String DEPENDENCY_GRAPH_BINDING
protected java.util.Map locks
protected DependencyGraph dg
protected java.util.Map contextInfos
protected Logger logger
protected boolean thinLockAllowed
Constructor Detail |
public PessimisticConcurrencyManager() throws ConcurrencyException
public PessimisticConcurrencyManager(short policy) throws ConcurrencyException
Method Detail |
protected abstract java.lang.Object getState(java.lang.Object ctx, java.lang.Object resourceId, Lock lock) throws ConcurrencyException
ctx
- is the context using the resourceresourceId
- is the resource identifierlock
- is the lock instance matching the resource
ConcurrencyException
public java.lang.String[] listFc()
public java.lang.Object lookupFc(java.lang.String s) throws NoSuchInterfaceException
NoSuchInterfaceException
public void bindFc(java.lang.String s, java.lang.Object o) throws IllegalBindingException, NoSuchInterfaceException
IllegalBindingException
NoSuchInterfaceException
public void unbindFc(java.lang.String s) throws NoSuchInterfaceException
NoSuchInterfaceException
public java.lang.String getFcState()
public void startFc() throws IllegalLifeCycleException
IllegalLifeCycleException
public void stopFc() throws IllegalLifeCycleException
IllegalLifeCycleException
public void begin(java.lang.Object ctx)
ConcurrencyManager
begin
in interface ConcurrencyManager
ctx
- is the contextpublic boolean validate(java.lang.Object ctx)
ConcurrencyManager
validate
in interface ConcurrencyManager
public void finalize(java.lang.Object ctx)
ConcurrencyManager
finalize
in interface ConcurrencyManager
public void closeLock(Lock lock, java.lang.Object ctx)
public void abort(java.lang.Object ctx)
ConcurrencyManager
abort
in interface ConcurrencyManager
protected java.lang.Object getResourceId(java.lang.Object object)
public java.lang.Object readIntention(java.lang.Object ctx, java.lang.Object resource, java.lang.Object thinLock) throws ConcurrencyException
ConcurrencyManager
readIntention
in interface ConcurrencyManager
resource
- is the resource or it identifier (Object used for
synchronization)ctx
- is an identifier of the execution context. It can be a
transaction handle.thinLock
- permit to take smaller lock than on the resource globaly
ConcurrencyException
- if the no resource are available for
this resource identifer or if there is a concurrency problem. In this
last case that means the context should be cancelled.public java.lang.Object writeIntention(java.lang.Object ctx, java.lang.Object resource, java.lang.Object thinLock) throws ConcurrencyException
ConcurrencyManager
writeIntention
in interface ConcurrencyManager
resource
- is the resource or its identifierctx
- is an identifier of the execution context. It can be a
transaction handle.thinLock
- permit to take smaller lock than on the resource globaly
ConcurrencyException
- if the no resource are available for
this resource identifer or if there is a concurrency problem. In this
last case that means the context should be cancelled.protected Lock getLock(java.lang.Object oid, java.lang.Object hints)
oid
- an object identifier.
protected PessimisticConcurrencyManager.ContextInfo getContextInfo(java.lang.Object ctxt)
public java.lang.String getPolicy()
getPolicy
in interface PessimisticConcurrencyManagerAC
public void setPolicy(java.lang.String policy) throws IllegalLifeCycleException
setPolicy
in interface PessimisticConcurrencyManagerAC
IllegalLifeCycleException
public boolean getThinkLockAllowed()
getThinkLockAllowed
in interface PessimisticConcurrencyManagerAC
public void setThinkLockAllowed(boolean val)
setThinkLockAllowed
in interface PessimisticConcurrencyManagerAC
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |