public class LockProxy extends AbstractDistributedObject<LockServiceImpl> implements ILock
PARTITIONING_STRATEGY
Constructor and Description |
---|
LockProxy(NodeEngine nodeEngine,
LockServiceImpl lockService,
String name) |
Modifier and Type | Method and Description |
---|---|
void |
forceUnlock()
Releases the lock regardless of the lock owner.
|
Object |
getKey()
Deprecated.
|
Data |
getKeyData() |
int |
getLockCount()
Returns re-entrant lock hold count, regardless of lock ownership.
|
String |
getName()
Returns the unique name for this DistributedObject.
|
int |
getPartitionId() |
long |
getRemainingLeaseTime()
Returns remaining lease time in milliseconds.
|
String |
getServiceName()
Returns the service name for this object.
|
boolean |
isLocked()
Returns whether this lock is locked or not.
|
boolean |
isLockedByCurrentThread()
Returns whether this lock is locked by current thread or not.
|
void |
lock() |
void |
lock(long leaseTime,
TimeUnit timeUnit)
Acquires the lock for the specified lease time.
|
void |
lockInterruptibly() |
Condition |
newCondition()
This method is not implemented! Use
ILock.newCondition(String) instead. |
ICondition |
newCondition(String name)
Returns a new
ICondition instance that is bound to this
ILock instance with given name. |
String |
toString() |
boolean |
tryLock() |
boolean |
tryLock(long time,
TimeUnit unit) |
boolean |
tryLock(long time,
TimeUnit unit,
long leaseTime,
TimeUnit leaseUnit)
Tries to acquire the lock for the specified lease time.
|
void |
unlock()
Releases the lock.
|
destroy, equals, getDistributedObjectName, getNameAsPartitionAwareData, getNodeEngine, getOperationService, getPartitionId, getPartitionKey, getService, hashCode, invalidate, invokeOnPartition, postDestroy, preDestroy, throwNotActiveException, toData
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
destroy, getPartitionKey
public LockProxy(NodeEngine nodeEngine, LockServiceImpl lockService, String name)
public boolean isLocked()
ILock
public boolean isLockedByCurrentThread()
ILock
isLockedByCurrentThread
in interface ILock
true
if this lock is locked by current thread, false
otherwise.public int getLockCount()
ILock
getLockCount
in interface ILock
public long getRemainingLeaseTime()
ILock
getRemainingLeaseTime
in interface ILock
public void lock()
ILock
public void lock(long leaseTime, TimeUnit timeUnit)
ILock
After lease time, lock will be released..
If the lock is not available then the current thread becomes disabled for thread scheduling purposes and lies dormant until the lock has been acquired.
public void lockInterruptibly() throws InterruptedException
lockInterruptibly
in interface Lock
InterruptedException
public boolean tryLock()
ILock
public boolean tryLock(long time, TimeUnit unit) throws InterruptedException
ILock
tryLock
in interface ILock
tryLock
in interface Lock
InterruptedException
public boolean tryLock(long time, TimeUnit unit, long leaseTime, TimeUnit leaseUnit) throws InterruptedException
ILock
After lease time, the lock will be released.
If the lock is not available, then the current thread becomes disabled for thread scheduling purposes and lies dormant until one of two things happens:
tryLock
in interface ILock
time
- maximum time to wait for the lock.unit
- time unit of the time argument.leaseTime
- time to wait before releasing the lock.leaseUnit
- unit of time to specify lease time.InterruptedException
public void unlock()
ILock
public void forceUnlock()
ILock
forceUnlock
in interface ILock
public Condition newCondition()
ILock
ILock.newCondition(String)
instead.newCondition
in interface ILock
newCondition
in interface Lock
public ICondition newCondition(String name)
ILock
ICondition
instance that is bound to this
ILock
instance with given name.
Before waiting on the condition the lock must be held by the
current thread.
A call to Condition.await()
will atomically release the lock
before waiting and re-acquire the lock before the wait returns.
newCondition
in interface ILock
name
- identifier of the new condition instanceICondition
instance for this ILock
instancepublic String getName()
DistributedObject
DistributedObjectUtil.getName(DistributedObject)
because this might be also a PrefixedDistributedObject
.getName
in interface DistributedObject
public String getServiceName()
DistributedObject
getServiceName
in interface DistributedObject
getServiceName
in class AbstractDistributedObject<LockServiceImpl>
@Deprecated public Object getKey()
ILock
public Data getKeyData()
public int getPartitionId()
public String toString()
toString
in class AbstractDistributedObject<LockServiceImpl>
Copyright © 2018 Hazelcast, Inc.. All rights reserved.