org.objectweb.perseus.concurrency.distributed

Class DistributedConcurrencyManager

Implemented Interfaces:
AttributeController, BindingController, ConcurrencyManager, LifeCycleController, PessimisticConcurrencyManagerAC

public abstract class DistributedConcurrencyManager
extends PessimisticConcurrencyManager
implements AttributeController

Copyright (C) 2003-2004 - France Telecom R&D This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Release: 1.0 Authors: Olivier Lobry (olivier.lobry@rd.francetelecom.com)

Nested Class Summary

Nested classes/interfaces inherited from class org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager

PessimisticConcurrencyManager.ContextInfo

Field Summary

static String
GLOBAL_LOCK_MANAGER_BINDING

Fields inherited from class org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager

DEPENDENCY_GRAPH_BINDING, POLICY_MUTEX, POLICY_RW_FIFO, POLICY_RW_PRIORITY2READERS, POLICY_UNDEFINED, contextInfos, dg, locks, logger, policyStringVal

Constructor Summary

DistributedConcurrencyManager()

Method Summary

void
abort(Object ctx)
void
begin(Object ctx)
void
bindFc(String s, Object o)
void
finalize(Object ctx)
protected GlobalLock
getDistLock(Object resourceId, Object hints, boolean doInvalidate)
long
getTimeout()
protected void
invalidateState(Object resourceId, Object hints)
Invalidate the reference state of the resource
boolean
isDistGrantable(Object resId, byte lck, Object hints)
String[]
listFc()
Object
lookupFc(String s)
Object
readIntention(Object ctx, Object resourceId, Object hints)
void
setTimeOut(long timeout)
void
setTimeout(long timeout)
void
unbindFc(String s)
void
uncacheGlobal(Object oid)
Object
writeIntention(Object ctx, Object resourceId, Object hints)

Methods inherited from class org.objectweb.perseus.concurrency.pessimistic.PessimisticConcurrencyManager

abort, begin, bindFc, finalize, getContextInfo, getFcState, getLock, getPolicy, getState, listFc, lookupFc, readIntention, setPolicy, startFc, stopFc, unbindFc, validate, writeIntention

Field Details

GLOBAL_LOCK_MANAGER_BINDING

public static final String GLOBAL_LOCK_MANAGER_BINDING

Constructor Details

DistributedConcurrencyManager

public DistributedConcurrencyManager()
            throws ConcurrencyException

Method Details

abort

public void abort(Object ctx)
Specified by:
abort in interface ConcurrencyManager
Overrides:
abort in interface PessimisticConcurrencyManager


begin

public void begin(Object ctx)
Specified by:
begin in interface ConcurrencyManager
Overrides:
begin in interface PessimisticConcurrencyManager


bindFc

public void bindFc(String s,
                   Object o)
            throws IllegalBindingException,
                   NoSuchInterfaceException
Overrides:
bindFc in interface PessimisticConcurrencyManager


finalize

public void finalize(Object ctx)
Specified by:
finalize in interface ConcurrencyManager
Overrides:
finalize in interface PessimisticConcurrencyManager


getDistLock

protected GlobalLock getDistLock(Object resourceId,
                                 Object hints,
                                 boolean doInvalidate)
            throws ConcurrencyException


getTimeout

public long getTimeout()


invalidateState

protected void invalidateState(Object resourceId,
                               Object hints)
Invalidate the reference state of the resource

Parameters:
resourceId -
hints -


isDistGrantable

public boolean isDistGrantable(Object resId,
                               byte lck,
                               Object hints)
            throws ConcurrencyException


listFc

public String[] listFc()
Overrides:
listFc in interface PessimisticConcurrencyManager


lookupFc

public Object lookupFc(String s)
            throws NoSuchInterfaceException
Overrides:
lookupFc in interface PessimisticConcurrencyManager


readIntention

public Object readIntention(Object ctx,
                            Object resourceId,
                            Object hints)
            throws ConcurrencyException
Specified by:
readIntention in interface ConcurrencyManager
Overrides:
readIntention in interface PessimisticConcurrencyManager


setTimeOut

public void setTimeOut(long timeout)


setTimeout

public void setTimeout(long timeout)


unbindFc

public void unbindFc(String s)
            throws NoSuchInterfaceException
Overrides:
unbindFc in interface PessimisticConcurrencyManager


uncacheGlobal

public void uncacheGlobal(Object oid)


writeIntention

public Object writeIntention(Object ctx,
                             Object resourceId,
                             Object hints)
            throws ConcurrencyException
Specified by:
writeIntention in interface ConcurrencyManager
Overrides:
writeIntention in interface PessimisticConcurrencyManager


Copyright © 2000-2002 France Telecom S.A., INRIA, IMAG-LSR All Rights Reserved.