org.apache.jackrabbit.core.util
Class RepositoryLock

java.lang.Object
  extended by org.apache.jackrabbit.core.util.RepositoryLock
All Implemented Interfaces:
RepositoryLockMechanism

public class RepositoryLock
extends Object
implements RepositoryLockMechanism

Exclusive lock on a repository home directory. This class encapsulates collective experience on how to acquire an exclusive lock on a given directory. The lock is expected to be exclusive both across process boundaries and within a single JVM. The lock mechanism must also work consistently on a variety of operating systems and JVM implementations.

See Also:
https://issues.apache.org/jira/browse/JCR-213, https://issues.apache.org/jira/browse/JCR-233, https://issues.apache.org/jira/browse/JCR-254, https://issues.apache.org/jira/browse/JCR-912, https://issues.apache.org/jira/browse/JCR-933

Constructor Summary
RepositoryLock()
           
RepositoryLock(String path)
          Deprecated. This constructor is deprecated; use the default constructor and init(String) instead.
 
Method Summary
 void acquire()
          Lock the repository home.
 void init(String path)
          Initialize the instance for the given directory path.
 void release()
          Releases repository lock.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryLock

public RepositoryLock()

RepositoryLock

public RepositoryLock(String path)
               throws RepositoryException
Deprecated. This constructor is deprecated; use the default constructor and init(String) instead.

Create a new RepositoryLock object and initialize it.

Parameters:
path - directory path
Throws:
RepositoryException - if the canonical path of the directory can not be determined
Method Detail

init

public void init(String path)
          throws RepositoryException
Initialize the instance for the given directory path. The lock still needs to be explicitly acquired using the acquire() method.

Specified by:
init in interface RepositoryLockMechanism
Parameters:
path - directory path
Throws:
RepositoryException - if the canonical path of the directory can not be determined

acquire

public void acquire()
             throws RepositoryException
Lock the repository home.

Specified by:
acquire in interface RepositoryLockMechanism
Throws:
RepositoryException - if the repository lock can not be acquired

release

public void release()
Releases repository lock.

Specified by:
release in interface RepositoryLockMechanism


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.