Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


com.tangosol.io.bdb
Class DatabaseFactory.EnvironmentHolder.DirectoryLock

java.lang.Object
  extended by com.tangosol.io.bdb.DatabaseFactory.EnvironmentHolder.DirectoryLock

Enclosing class:
DatabaseFactory.EnvironmentHolder

protected static class DatabaseFactory.EnvironmentHolder.DirectoryLock
extends Object

Directory based lock. <p/> A single instance of the DirectoryLock is not intended for inter thread locking. Multiple instance refering to the same File should be used instead.


Field Summary
static String LOCK_FILE_NAME
          Name of warning file.
protected  File m_dir
          Directory to lock.
protected  FileOutputStream m_fstreamLocked
          The FileStream which the actuall lock is held on.
protected  FileLock m_lockDir
          The actual FileLock.
protected  String m_sLockText
          Text to include in the lock file.

 

Constructor Summary
DatabaseFactory.EnvironmentHolder.DirectoryLock(File dir, String sLockText)
          Create a DirectoryLock which can be used to try to lock a directory.

 

Method Summary
protected  void finalize()
          Automatically release the lock on finalization.
 boolean tryLock()
          Try to lock the directory.
 boolean tryUnlock()
          Try to unlock the directory.

 

Field Detail

LOCK_FILE_NAME

public static final String LOCK_FILE_NAME
Name of warning file.
See Also:
Constant Field Values

m_dir

protected File m_dir
Directory to lock.

m_fstreamLocked

protected FileOutputStream m_fstreamLocked
The FileStream which the actuall lock is held on.

m_lockDir

protected FileLock m_lockDir
The actual FileLock.

m_sLockText

protected String m_sLockText
Text to include in the lock file.

Constructor Detail

DatabaseFactory.EnvironmentHolder.DirectoryLock

public DatabaseFactory.EnvironmentHolder.DirectoryLock(File dir,
                                                       String sLockText)
Create a DirectoryLock which can be used to try to lock a directory. The object is created in an unlocked state.
Parameters:
dir - the directory to lock
sLockText - the text to include in the lock file

Method Detail

tryLock

public boolean tryLock()
                throws IOException
Try to lock the directory.
Returns:
true if a lock is obtained, false if it is locked by another DirectoryLock
Throws:
IOException - if an IO error occurs while creating the lock file

tryUnlock

public boolean tryUnlock()
                  throws IOException
Try to unlock the directory.
Returns:
true if a lock is released, false if the directory was not locked by this DirectoryLock
Throws:
IOException - if an IO error occurs while deleting the lock file, the lock may be left in an unlocked state

finalize

protected void finalize()
                 throws Throwable
Automatically release the lock on finalization. <p/> The OS will ensure that the lock is released regardless but this allows the lock file to be deleted as well.
Throws:
Throwable

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.