org.rrd4j.core
Class RrdSafeFileBackend

java.lang.Object
  extended by org.rrd4j.core.RrdBackend
      extended by org.rrd4j.core.RrdFileBackend
          extended by org.rrd4j.core.RrdRandomAccessFileBackend
              extended by org.rrd4j.core.RrdSafeFileBackend

public class RrdSafeFileBackend
extends RrdRandomAccessFileBackend

Backend which is used to store RRD data to ordinary files on the disk, using locking. This backend is SAFE: it locks the underlying RRD file during update/fetch operations, and caches only static parts of a RRD file in memory. Therefore, this backend is safe to be used when RRD files should be shared between several JVMs at the same time. However, this backend is a little bit slow since it does not use fast java.nio.* package (it's still based on the RandomAccessFile class).


Field Summary
 
Fields inherited from class org.rrd4j.core.RrdRandomAccessFileBackend
rafile
 
Fields inherited from class org.rrd4j.core.RrdFileBackend
file, readOnly
 
Constructor Summary
RrdSafeFileBackend(String path, long lockWaitTime, long lockRetryPeriod)
          Creates RrdFileBackend object for the given file path, backed by RandomAccessFile object.
 
Method Summary
 void close()
          Closes the underlying RRD file.
static String getLockInfo()
           
protected  boolean isCachingAllowed()
          Defines the caching policy for this backend.
 
Methods inherited from class org.rrd4j.core.RrdRandomAccessFileBackend
read, setLength, write
 
Methods inherited from class org.rrd4j.core.RrdFileBackend
getCanonicalPath, getCanonicalPath, getLength
 
Methods inherited from class org.rrd4j.core.RrdBackend
getPath, readAll
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RrdSafeFileBackend

public RrdSafeFileBackend(String path,
                          long lockWaitTime,
                          long lockRetryPeriod)
                   throws IOException
Creates RrdFileBackend object for the given file path, backed by RandomAccessFile object.

Parameters:
path - Path to a file
Throws:
IOException - Thrown in case of I/O error
Method Detail

close

public void close()
           throws IOException
Description copied from class: RrdRandomAccessFileBackend
Closes the underlying RRD file.

Overrides:
close in class RrdRandomAccessFileBackend
Throws:
IOException - Thrown in case of I/O error

isCachingAllowed

protected boolean isCachingAllowed()
Defines the caching policy for this backend.

Overrides:
isCachingAllowed in class RrdBackend
Returns:
false

getLockInfo

public static String getLockInfo()


Copyright © 2011. All Rights Reserved.