org.axonframework.repository
Class NullLockManager

java.lang.Object
  extended by org.axonframework.repository.NullLockManager
All Implemented Interfaces:
LockManager

public class NullLockManager
extends Object
implements LockManager

LockManager implementation that does nothing. Can be useful in cases where a repository extending from the LockingRepository needs to be configured to ignore locks, for example in scenario's where an underlying storage mechanism already performs the necessary locking.

Since:
0.6
Author:
Allard Buijze

Constructor Summary
NullLockManager()
           
 
Method Summary
 void obtainLock(Object aggregateIdentifier)
          Obtain a lock for an aggregate with the given aggregateIdentifier.
 void releaseLock(Object aggregateIdentifier)
          Release the lock held for an aggregate with the given aggregateIdentifier.
 boolean validateLock(AggregateRoot aggregate)
          Make sure that the current thread holds a valid lock for the given aggregate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullLockManager

public NullLockManager()
Method Detail

validateLock

public boolean validateLock(AggregateRoot aggregate)
Make sure that the current thread holds a valid lock for the given aggregate.

This implementation always returns true.

Specified by:
validateLock in interface LockManager
Parameters:
aggregate - the aggregate to validate the lock for
Returns:
true if a valid lock is held, false otherwise

obtainLock

public void obtainLock(Object aggregateIdentifier)
Obtain a lock for an aggregate with the given aggregateIdentifier. Depending on the strategy, this method may return immediately or block until a lock is held.

This implementation does nothing.

Specified by:
obtainLock in interface LockManager
Parameters:
aggregateIdentifier - the identifier of the aggregate to obtains a lock for.

releaseLock

public void releaseLock(Object aggregateIdentifier)
Release the lock held for an aggregate with the given aggregateIdentifier. The caller of this method must ensure a valid lock was requested using LockManager.obtainLock(Object). If no lock was successfully obtained, the behavior of this method is undefined.

This implementation does nothing.

Specified by:
releaseLock in interface LockManager
Parameters:
aggregateIdentifier - the identifier of the aggregate to release the lock for.


Copyright © 2010-2016. All Rights Reserved.